|
2123
|
45
|
29
|
2026-04-12T09:28:47.499742+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986127499_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp> 0 lll* Unable to access screenpipe activity dataDOCKERO ₴1DEV (-zsh)О 82APP (-zsh)• *3-zsh• 84|-zsh• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00", end_time: "2026-04-11T23:59:59")• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00Z", end_time:"2026-04-11T23:59:59Z")• Here's your activity summary for yesterday (April 11):• $5|-zsh86-zsh100% C8Sun 12 Apr 12:28:47T8$7* Unable to access s...88Total active time: ~3 hours (roughly 15:00-21:00 UTC)Main focus areasScreenpipe development (~2h combined)- Heavy terminalwork in iTerm2 (67 min in zsh + SSH)- Building a screenpipe data UI - working remotely on [IP_ADDRESS] via SSH- Editing report.py and a bash script in VS Code- Checking the Screenpipe Dashboard in FirefoxWork (Jiminny) (~15 min)- Checked the Scrum Board for Platform Sprint 1 Q2- Looked at service desk queues- Checked an email about an "Ask Jiminny" test report- Briefly attempted to access app.dev.jiminny.com (got a page load error)- Explored Gemini for Google Workspace (request access)NAS / personalinfra (~12 min)- Browsing your NAS at nas.lakylak.xyzReading (Dennik N) (~6 min)- Article about the Artemis II / Orion splashdown- Coverage on Iran and Trump newsClaude (~5 min)- Used Claude, likely related to screenpipe work (querying the screenpipe search API)TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, andevening reading on Slovak news.? for shortcuts...
|
NULL
|
656632053429811283
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp> 0 lll* Unable to access screenpipe activity dataDOCKERO ₴1DEV (-zsh)О 82APP (-zsh)• *3-zsh• 84|-zsh• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00", end_time: "2026-04-11T23:59:59")• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00Z", end_time:"2026-04-11T23:59:59Z")• Here's your activity summary for yesterday (April 11):• $5|-zsh86-zsh100% C8Sun 12 Apr 12:28:47T8$7* Unable to access s...88Total active time: ~3 hours (roughly 15:00-21:00 UTC)Main focus areasScreenpipe development (~2h combined)- Heavy terminalwork in iTerm2 (67 min in zsh + SSH)- Building a screenpipe data UI - working remotely on [IP_ADDRESS] via SSH- Editing report.py and a bash script in VS Code- Checking the Screenpipe Dashboard in FirefoxWork (Jiminny) (~15 min)- Checked the Scrum Board for Platform Sprint 1 Q2- Looked at service desk queues- Checked an email about an "Ask Jiminny" test report- Briefly attempted to access app.dev.jiminny.com (got a page load error)- Explored Gemini for Google Workspace (request access)NAS / personalinfra (~12 min)- Browsing your NAS at nas.lakylak.xyzReading (Dennik N) (~6 min)- Article about the Artemis II / Orion splashdown- Coverage on Iran and Trump newsClaude (~5 min)- Used Claude, likely related to screenpipe work (querying the screenpipe search API)TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, andevening reading on Slovak news.? for shortcuts...
|
2122
|
|
2122
|
45
|
28
|
2026-04-12T09:28:44.837472+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986124837_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp> 0 lll* Unable to access screenpipe activity dataDOCKERO ₴1DEV (-zsh)О 82APP (-zsh)• *3-zsh• 84|-zsh• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00", end_time: "2026-04-11T23:59:59")• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00Z", end_time:"2026-04-11T23:59:59Z")• Here's your activity summary for yesterday (April 11):• $5|-zsh86-zsh100% C8Sun 12 Apr 12:28:44T8$7* Unable to access s...88Total active time: ~3 hours (roughly 15:00-21:00 UTC)Main focus areasScreenpipe development (~2h combined)- Heavy terminalwork in iTerm2 (67 min in zsh + SSH)- Building a screenpipe data UI - working remotely on [IP_ADDRESS] via SSH- Editing report.py and a bash script in VS Code- Checking the Screenpipe Dashboard in FirefoxWork (Jiminny) (~15 min)- Checked the Scrum Board for Platform Sprint 1 Q2- Looked at service desk queues- Checked an email about an "Ask Jiminny" test report- Briefly attempted to access app.dev.jiminny.com (got a page load error)- Explored Gemini for Google Workspace (request access)NAS / personalinfra (~12 min)- Browsing your NAS at nas.lakylak.xyzReading (Dennik N) (~6 min)- Article about the Artemis II / Orion splashdown- Coverage on Iran and Trump newsClaude (~5 min)- Used Claude, likely related to screenpipe work (querying the screenpipe search API)TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, andevening reading on Slovak news.? for shortcuts...
|
NULL
|
1185897678131468172
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp> 0 lll* Unable to access screenpipe activity dataDOCKERO ₴1DEV (-zsh)О 82APP (-zsh)• *3-zsh• 84|-zsh• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00", end_time: "2026-04-11T23:59:59")• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00Z", end_time:"2026-04-11T23:59:59Z")• Here's your activity summary for yesterday (April 11):• $5|-zsh86-zsh100% C8Sun 12 Apr 12:28:44T8$7* Unable to access s...88Total active time: ~3 hours (roughly 15:00-21:00 UTC)Main focus areasScreenpipe development (~2h combined)- Heavy terminalwork in iTerm2 (67 min in zsh + SSH)- Building a screenpipe data UI - working remotely on [IP_ADDRESS] via SSH- Editing report.py and a bash script in VS Code- Checking the Screenpipe Dashboard in FirefoxWork (Jiminny) (~15 min)- Checked the Scrum Board for Platform Sprint 1 Q2- Looked at service desk queues- Checked an email about an "Ask Jiminny" test report- Briefly attempted to access app.dev.jiminny.com (got a page load error)- Explored Gemini for Google Workspace (request access)NAS / personalinfra (~12 min)- Browsing your NAS at nas.lakylak.xyzReading (Dennik N) (~6 min)- Article about the Artemis II / Orion splashdown- Coverage on Iran and Trump newsClaude (~5 min)- Used Claude, likely related to screenpipe work (querying the screenpipe search API)TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, andevening reading on Slovak news.? for shortcuts...
|
NULL
|
|
2121
|
45
|
27
|
2026-04-12T09:28:42.927725+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986122927_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp> 0 lllA100% C* Unable to access screenpipe activity dataDOCKERO ₴1DEV (-zsh)0 82APP (-zsh)• *3-zsh• 84|-zsh• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00", end_time: "2026-04-11T23:59:59")• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00Z", end_time:"2026-04-11T23:59:59Z")• Here's your activity summary for yesterday (April 11):• $5|-zsh86-zsh8Sun 12 Apr 12:28:42T8* Unable to access s...88Total active time: ~3 hours (roughly 15:00-21:00 UTC)Main focus areasScreenpipe development (~2h combined)- Heavy terminalwork in iTerm2 (67 min in zsh + SSH)- Building a screenpipe data UI - working remotely on [IP_ADDRESS] via SSH- Editing report.py and a bash script in VS Code- Checking the Screenpipe Dashboard in FirefoxWork (Jiminny) (~15 min)- Checked the Scrum Board for Platform Sprint 1 Q2- Looked at service desk queues- Checked an email about an "Ask Jiminny" test report- Briefly attempted to access app.dev.jiminny.com (got a page load error)- Explored Gemini for Google Workspace (request access)NAS / personalinfra (~12 min)- Browsing your NAS at nas.lakylak.xyzReading (Dennik N) (~6 min)- Article about the Artemis II / Orion splashdown- Coverage on Iran and Trump newsClaude (~5 min)- Used Claude, likely related to screenpipe work (querying the screenpipe search API)TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, andevening reading on Slovak news.? for shortcuts...
|
NULL
|
6001903694411043400
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp> 0 lllA100% C* Unable to access screenpipe activity dataDOCKERO ₴1DEV (-zsh)0 82APP (-zsh)• *3-zsh• 84|-zsh• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00", end_time: "2026-04-11T23:59:59")• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00Z", end_time:"2026-04-11T23:59:59Z")• Here's your activity summary for yesterday (April 11):• $5|-zsh86-zsh8Sun 12 Apr 12:28:42T8* Unable to access s...88Total active time: ~3 hours (roughly 15:00-21:00 UTC)Main focus areasScreenpipe development (~2h combined)- Heavy terminalwork in iTerm2 (67 min in zsh + SSH)- Building a screenpipe data UI - working remotely on [IP_ADDRESS] via SSH- Editing report.py and a bash script in VS Code- Checking the Screenpipe Dashboard in FirefoxWork (Jiminny) (~15 min)- Checked the Scrum Board for Platform Sprint 1 Q2- Looked at service desk queues- Checked an email about an "Ask Jiminny" test report- Briefly attempted to access app.dev.jiminny.com (got a page load error)- Explored Gemini for Google Workspace (request access)NAS / personalinfra (~12 min)- Browsing your NAS at nas.lakylak.xyzReading (Dennik N) (~6 min)- Article about the Artemis II / Orion splashdown- Coverage on Iran and Trump newsClaude (~5 min)- Used Claude, likely related to screenpipe work (querying the screenpipe search API)TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, andevening reading on Slovak news.? for shortcuts...
|
2120
|
|
2120
|
45
|
26
|
2026-04-12T09:28:41.922018+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986121922_m1.jpg...
|
Firefox
|
Screenpipe: Open Source 24/7 Screen & Audio Ca Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software — Personal...
|
True
|
www.reddit.com/r/software/comments/1fjfwg0/comment www.reddit.com/r/software/comments/1fjfwg0/comment/lnr7nqd/...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop, copy it, and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tab, look at the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Target","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"field. Add a space at the very end, followed by","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Still in the Properties window, click inside the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut key","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"box.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Apply","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OK","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager on Launch","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager on Launch","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to choose your profile every time you open Firefox using keyboard arrows:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows) to open the Run dialog.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Firefox Profile Manager will pop up. You can use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrow keys to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> click the gear icon > select \"Manage Extension Shortcuts\") and assign a custom keyboard shortcut to open the Profile Switcher menu.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share and export","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":24,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I am on mac","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I am on mac","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is still the quickest way to do it natively without leaving the browser.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app on your Mac.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button at the top to create a new shortcut.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the search bar on the right, type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Run Shell Script","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and double-click it to add it to your workflow.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the script box that appears, paste the following command (replace \"Work\" with the exact name of your Firefox profile):","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Info (i)","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"icon in the right sidebar (or click the shortcut name at the top and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Details","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add Keyboard Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager via Terminal","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager via Terminal","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open Spotlight Search.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Paste the following command and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Profile Manager window will appear. Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"bounds":{"left":0.0,"top":0.008888889,"width":0.025,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrows to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox","depth":29,"bounds":{"left":0.0,"top":0.30888888,"width":0.14375,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"extension.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open the Add-ons page.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gear icon","depth":29,"bounds":{"left":0.0,"top":0.4488889,"width":0.05277778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"at the top right and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Manage Extension Shortcuts","depth":29,"bounds":{"left":0.0,"top":0.47777778,"width":0.15486111,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.058333334,"top":0.47777778,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Find the Profile Switcher extension and record a custom shortcut (like","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to open the menu instantly.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-2469062100190368029
|
1785210225264351366
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini...
|
NULL
|
|
2119
|
45
|
25
|
2026-04-12T09:28:39.878106+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986119878_m1.jpg...
|
iTerm2
|
✳ Unable to access screenpipe activity data
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
4 frames [URL_WITH_CREDENTIALS] ~ $ claude mcp ad 4 frames [URL_WITH_CREDENTIALS] ~ $ claude mcp add screenpipe -- npx -y
Dia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] cd /volume2/applications/
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe
[sudo] password for Adm1n:
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps screenpipe ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls
app data db.sqlite pipes '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll
total 95084
drwxrwxrwx 1 root root 76 Apr 11 17:43 .
drwxr-xr-x 1 root root 450 Apr 11 16:11 ..
drwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app
drwxrwxrwx 1 root root 58 Apr 11 17:29 data
-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite
-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store
drwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes
drwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 15.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s
=> [screenpipe-app internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.2s
=> => transferring context: 40.53kB 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s
=> => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s
=> => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s
=> => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s
=> => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s
=> => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s
=> => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s
=> => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s
=> => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s
=> => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s
=> => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s
=> => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s
=> => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s
=> [screenpipe-app 2/5] WORKDIR /app 0.4s
=> [screenpipe-app 3/5] COPY requirements.txt . 0.2s
=> [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.4s
=> => exporting layers 0.3s
=> => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 2/2
✔ Network app_default Created 0.2s
✔ Container screenpipe-app Created 0.1s
Error response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 [IP_ADDRESS]:8765: bind: address already in use
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1
[+] Running 1/1
✔ Container screenpipe-app Started 0.1s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 1.7s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 24.55kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 38.85kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.6s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.1s
=> => transferring context: 47.13kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.5s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 61.77kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build
unknown shorthand flag: 'd' in -d
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.0s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 915B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [screenpipe-app 5/5] COPY . . 0.0s
=> [screenpipe-app] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude
file:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8
import{createRequire as MA5}from"node:module";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q==="object";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,"default",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for("Symbol.dispose"),PA5=Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose"),lz=(q,K,_)=>{if(K!=null){if(typeof K!=="object"&&typeof K!=="function")throw TypeError('Object expected to be assigned to "using" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!=="function")throw TypeError("Object not disposable");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError==="function"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name="SuppressedError",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,"An error was suppressed during disposal"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global=="object"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self=="object"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function("return this")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5="[object Null]",gA5="[object Undefined]",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K=="object"||K=="function")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5="[object AsyncFunction]",dA5="[object Function]",cA5="[object GeneratorFunction]",lA5="[object Proxy]",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ["__core-js_shared__"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||"");return q?"Symbol(src)_1."+q:""}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+""}catch(K){}}return""}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\^$.*+?()[\]{}|]/g,eA5=/^\[object .+?Constructor\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp("^"+_O5.call(zO5).replace(tA5,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,"Map"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,"create"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5="__lodash_hash_undefined__",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5="__lodash_hash_undefined__",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K=="string"||K=="number"||K=="symbol"||K=="boolean"?q!=="__proto__":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K=="string"?"string":"hash"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5="__lodash_hash_undefined__",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+"";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5="[object Boolean]",cO5="[object Date]",lO5="[object Error]",nO5="[object Map]",iO5="[object Number]",rO5="[object RegExp]",oO5="[object Set]",aO5="[object String]",sO5="[object Symbol]",tO5="[object ArrayBuffer]",eO5="[object DataView]",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q=="object"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5="[object Arguments]",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,"callee")&&!P$5.call(q,"callee")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8=="object"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8=="object"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_=="number"||_!="symbol"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=[CREDIT_CARD],T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\d*)$/;re=V$5});function N$5(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=k$5}var k$5=[CREDIT_CARD],rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5="[object Arguments]",E$5="[object Array]",L$5="[object Boolean]",h$5="[object Date]",R$5="[object Error]",S$5="[object Function]",C$5="[object Map]",b$5="[object Number]",x$5="[object Object]",I$5="[object RegExp]",u$5="[object Set]",m$5="[object String]",B$5="[object WeakMap]",p$5="[object ArrayBuffer]",g$5="[object DataView]",F$5="[object Float32Array]",U$5="[object Float64Array]",Q$5="[object Int8Array]",d$5="[object Int16Array]",c$5="[object Int32Array]",l$5="[object Uint8Array]",n$5="[object Uint8ClampedArray]",i$5="[object Uint16Array]",r$5="[object Uint32Array]",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8=="object"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8=="object"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require("util").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding("util")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j=="length"||Y&&(j=="offset"||j=="parent")||A&&(j=="buffer"||j=="byteLength"||j=="byteOffset")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K=="function"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!="constructor")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M=="constructor")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&(("constructor"in q)&&("constructor"in K))&&!(typeof v=="function"&&v instanceof v&&typeof V=="function"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,"DataView"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,"Promise"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,"Set"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,"WeakMap"),Xz8=vw5});var sM7="[object Map]",Tw5="[object Object]",tM7="[object Promise]",eM7="[object Set]",qX7="[object WeakMap]",KX7="[object DataView]",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();Q_8();oM7();Ta8();aM7();M_6();Oa8();Vw5=rl(Jz8),kw5=rl(ne),Nw5=rl(Mz8),yw5=rl(oe),Ew5=rl(Xz8),D_6=YL;if(Jz8&&D_6(new Jz8(new ArrayBuffer(1)))!=KX7||ne&&D_6(new ne)!=sM7||Mz8&&D_6(Mz8.resolve())!=tM7||oe&&D_6(new oe)!=eM7||Xz8&&D_6(new Xz8)!=qX7)D_6=function(q){var K=YL(q),_=K==Tw5?q.constructor:void 0,z=_?rl(_):"";if(z)switch(z){case Vw5:return KX7;case kw5:return sM7;case Nw5:return tM7;case yw5:return eM7;case Ew5:return qX7}return K};sl=D_6});function Rw5(q,K,_,z,Y,A){var O=DO(q),$=DO(K),w=O?zX7:sl(q),j=$?zX7:sl(K);w=w==_X7?Pz8:w,j=j==_X7?Pz8:j;var H=w==Pz8,J=j==Pz8,M=w==j;if(M&&fg(q)){if(!fg(K))return!1;O=!0,H=!1}if(M&&!H)return A||(A=new Dg),O||aP6(q)?i_8(q,K,_,z,Y,A):EM7(q,K,w,_,z,Y,A);if(!(_&Lw5)){var X=H&&YX7.call(q,"__wrapped__"),P=J&&YX7.call(K,"__wrapped__");if(X||P){var D=X?q.value():q,W=P?K.value():K;return A||(A=new Dg),Y(D,W,_,z,A)}}if(!M)return!1;return A||(A=new Dg),nM7(q,K,_,z,Y,A)}var Lw5=1,_X7="[object Arguments]",zX7="[object Array]",Pz8="[object Object]",hw5,YX7,AX7;var OX7=L(()=>{Au6();Ha8();LM7();iM7();Ju6();RT();$u6();$z8();hw5=Object.prototype,YX7=hw5.hasOwnProperty;AX7=Rw5});function $X7(q,K,_,z,Y){if(q===K)return!0;if(q==null||K==null||!QP(q)&&!QP(K))return q!==q&&K!==K;return AX7(q,K,_,z,$X7,Y)}var eP6;var Dz8=L(()=>{OX7();Wg();eP6=$X7});function bw5(q,K,_,z){var Y=_.length,A=Y,O=!z;if(q==null)return!A;q=Object(q);while(Y--){var $=_[Y];if(O&&$[2]?$[1]!==q[$[0]]:!($[0]in q))return!1}while(++Y<A){$=_[Y];var w=$[0],j=q[w],H=$[1];if(O&&$[2]){if(j===void 0&&!(w in q))return!1}else{var J=new Dg;if(z)var M=z(j,H,w,q,K,J);if(!(M===void 0?eP6(H,j,Sw5|Cw5,z,J):M))return!1}}return!0}var Sw5=1,Cw5=2,wX7;var jX7=L(()=>{Au6();Dz8();wX7=bw5});function xw5(q){return q===q&&!PO(q)}var Wz8;var Va8=L(()=>{hT();Wz8=xw5});function Iw5(q){var K=tR(q),_=K.length;while(_--){var z=K[_],Y=q[z];K[_]=[z,Y,Wz8(Y)]}return K}var HX7;var JX7=L(()=>{Va8();P_6();HX7=Iw5});function uw5(q,K){return function(_){if(_==null)return!1;return _[q]===K&&(K!==void 0||(q in Object(_)))}}var fz8;var ka8=L(()=>{fz8=uw5});function mw5(q){var K=HX7(q);if(K.length==1&&K[0][2])return fz8(K[0][0],K[0][1]);return function(_){return _===q||wX7(_,q,K)}}var MX7;var XX7=L(()=>{jX7();JX7();ka8();MX7=mw5});function pw5(q){return typeof q=="symbol"||QP(q)&&YL(q)==Bw5}var Bw5="[object Symbol]",ae;var Mu6=L(()=>{M_6();Wg();ae=pw5});function Uw5(q,K){if(DO(q))return!1;var _=typeof q;if(_=="number"||_=="symbol"||_=="boolean"||q==null||ae(q))return!0;return Fw5.test(q)||!gw5.test(q)||K!=null&&q in Object(K)}var gw5,Fw5,qD6;var Zz8=L(()=>{RT();Mu6();gw5=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Fw5=/^\w*$/;qD6=Uw5});function Na8(q,K){if(typeof q!="function"||K!=null&&typeof K!="function")throw TypeError(Qw5);var _=function(){var z=arguments,Y=K?K.apply(this,z):z[0],A=_.cache;if(A.has(Y))return A.get(Y);var O=q.apply(this,z);return _.cache=A.set(Y,O)||A,O};return _.cache=new(Na8.Cache||X_6),_}var Qw5="Expected a function",A1;var h4=L(()=>{d_8();Na8.Cache=X_6;A1=Na8});function cw5(q){var K=A1(q,function(z){if(_.size===dw5)_.clear();return z}),_=K.cache;return K}var dw5=500,PX7;var DX7=L(()=>{h4();PX7=cw5});var lw5,nw5,iw5,WX7;var fX7=L(()=>{DX7();lw5=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nw5=/\\(\\)?/g,iw5=PX7(function(q){var K=[];if(q.charCodeAt(0)===46)K.push("");return q.replace(lw5,function(_,z,Y,A){K.push(Y?A.replace(nw5,"$1"):z||_)}),K}),WX7=iw5});function rw5(q,K){var _=-1,z=q==null?0:q.length,Y=Array(z);while(++_<z)Y[_]=K(q[_],_,q);return Y}var se;var Xu6=L(()=>{se=rw5});function vX7(q){if(typeof q=="string")return q;if(DO(q))return se(q,vX7)+"";if(ae(q))return GX7?GX7.call(q):"";var K=q+"";return K=="0"&&1/q==-ow5?"-0":K}var ow5=1/0,ZX7,GX7,TX7;var VX7=L(()=>{J_6();Xu6();RT();Mu6();ZX7=YW?YW.prototype:void 0,GX7=ZX7?ZX7.toString:void 0;TX7=vX7});function aw5(q){return q==null?"":TX7(q)}var KD6;var Gz8=L(()=>{VX7();KD6=aw5});function sw5(q,K){if(DO(q))return q;return qD6(q,K)?[q]:WX7(KD6(q))}var eR;var W_6=L(()=>{RT();Zz8();fX7();Gz8();eR=sw5});function ew5(q){if(typeof q=="string"||ae(q))return q;var K=q+"";return K=="0"&&1/q==-tw5?"-0":K}var tw5=1/0,qS;var f_6=L(()=>{Mu6();qS=ew5});function q25(q,K){K=eR(K,q);var _=0,z=K.length;while(q!=null&&_<z)q...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"4 frames https://location-tracker.lakylak.xyz/dashboard\n 2 frames https://nas.lakylak.xyz/desktop/?os=ugospro#/\n 1 frames https://play.hbomax.com/show/06f986dd-dd6a-4596-9a0a-f473ef99c64b\n\n🪟\u0000 WINDOW TITLES (top 20)\n───────────────────────────────────────\niTerm2 93 -zsh\niTerm2 34 screenpipe\"\nSafari 13 Order Room Service • HBO Max\nClaude 12 Claude\niTerm2 8 ✳ Find cheapest WD Red Plus 6TB price\nDia 7 Personal: New Tab\niTerm2 7 ✳ Claude Code\niTerm2 7 ⠂ Find cheapest WD Red Plus 6TB price\niTerm2 7 ⠂ Research Western Digital Red Plus pricing\niTerm2 7 ⠐ Research Western Digital Red Plus pricing\nDia 6 Personal: GitHub - scree…\niTerm2 5 ✳ Research Western Digital Red Plus pricing\nSafari 4 Location Logger\nUserNotificationCenter 4 \niTerm2 4 nano\niTerm2 4 ⠐ Find cheapest WD Red Plus 6TB price\nControl Centre 3 Control Centre\nDia 3 Personal: Western Digita…\niTerm2 3 ✳ Check today's app usage\nActivity Monitor 2 Activity Monitor – All Processes\n\n🕐\u0000 HOURLY TIMELINE\n───────────────────────────────────────\n16:00 iTerm2 14 frames\n16:00 Safari 4 frames\n16:00 Dia 3 frames\n16:00 Control Centre 2 frames\n16:00 Activity Monitor 2 frames\n17:00 iTerm2 116 frames\n17:00 Dia 24 frames\n17:00 Safari 16 frames\n17:00 Claude 8 frames\n17:00 UserNotificationCenter 4 frames\n17:00 Finder 1 frames\n17:00 Control Centre 1 frames\n18:00 iTerm2 55 frames\n18:00 Dia 4 frames\n18:00 Claude 4 frames\n18:00 Slack 2 frames\n\n📋\u0000 CLIPBOARD\n───────────────────────────────────────\niTerm2 claude mcp add screenpipe -- npx -y screenpipe-mcp\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\nDia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cd /volume2/applications/\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe\n[sudo] password for Adm1n: \nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps screenpipe ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls\n app data db.sqlite pipes '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll\ntotal 95084\ndrwxrwxrwx 1 root root 76 Apr 11 17:43 .\ndrwxr-xr-x 1 root root 450 Apr 11 16:11 ..\ndrwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app\ndrwxrwxrwx 1 root root 58 Apr 11 17:29 data\n-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite\n-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store\ndrwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes\ndrwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 15.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s\n => [screenpipe-app internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.2s\n => => transferring context: 40.53kB 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s\n => => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s\n => => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s\n => => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s\n => => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s\n => => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s\n => => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s\n => => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s\n => => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s\n => => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s\n => => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s\n => => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s\n => => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s\n => [screenpipe-app 2/5] WORKDIR /app 0.4s\n => [screenpipe-app 3/5] COPY requirements.txt . 0.2s\n => [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s\n => [screenpipe-app 5/5] COPY . . 0.2s \n => [screenpipe-app] exporting to image 0.4s \n => => exporting layers 0.3s \n => => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s \n => => naming to docker.io/library/app-screenpipe-app 0.0s \n[+] Running 2/2 \n ✔ Network app_default Created 0.2s \n ✔ Container screenpipe-app Created 0.1s \nError response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 0.0.0.0:8765: bind: address already in use\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.1s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 1.7s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 24.55kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 38.85kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.6s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.1s\n => => transferring context: 47.13kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.5s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 61.77kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build\nunknown shorthand flag: 'd' in -d\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.0s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 915B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => CACHED [screenpipe-app 5/5] COPY . . 0.0s\n => [screenpipe-app] exporting to image 0.0s\n => => exporting layers 0.0s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude\nfile:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8\nimport{createRequire as MA5}from\"node:module\";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q===\"object\";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,\"default\",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},\"__esModule\",{value:!0}),q&&typeof q===\"object\"||typeof q===\"function\"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for(\"Symbol.dispose\"),PA5=Symbol.asyncDispose||Symbol.for(\"Symbol.asyncDispose\"),lz=(q,K,_)=>{if(K!=null){if(typeof K!==\"object\"&&typeof K!==\"function\")throw TypeError('Object expected to be assigned to \"using\" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!==\"function\")throw TypeError(\"Object not disposable\");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError===\"function\"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name=\"SuppressedError\",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,\"An error was suppressed during disposal\"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global==\"object\"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self==\"object\"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function(\"return this\")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5=\"[object Null]\",gA5=\"[object Undefined]\",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K==\"object\"||K==\"function\")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5=\"[object AsyncFunction]\",dA5=\"[object Function]\",cA5=\"[object GeneratorFunction]\",lA5=\"[object Proxy]\",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ[\"__core-js_shared__\"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||\"\");return q?\"Symbol(src)_1.\"+q:\"\"}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+\"\"}catch(K){}}return\"\"}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\\\^$.*+?()[\\]{}|]/g,eA5=/^\\[object .+?Constructor\\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp(\"^\"+_O5.call(zO5).replace(tA5,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,\"Map\"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,\"create\"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5=\"__lodash_hash_undefined__\",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5=\"__lodash_hash_undefined__\",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K==\"string\"||K==\"number\"||K==\"symbol\"||K==\"boolean\"?q!==\"__proto__\":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K==\"string\"?\"string\":\"hash\"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5=\"__lodash_hash_undefined__\",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+\"\";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5=\"[object Boolean]\",cO5=\"[object Date]\",lO5=\"[object Error]\",nO5=\"[object Map]\",iO5=\"[object Number]\",rO5=\"[object RegExp]\",oO5=\"[object Set]\",aO5=\"[object String]\",sO5=\"[object Symbol]\",tO5=\"[object ArrayBuffer]\",eO5=\"[object DataView]\",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q==\"object\"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5=\"[object Arguments]\",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,\"callee\")&&!P$5.call(q,\"callee\")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8==\"object\"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8==\"object\"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_==\"number\"||_!=\"symbol\"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=9007199254740991,T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\\d*)$/;re=V$5});function N$5(q){return typeof q==\"number\"&&q>-1&&q%1==0&&q<=k$5}var k$5=9007199254740991,rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5=\"[object Arguments]\",E$5=\"[object Array]\",L$5=\"[object Boolean]\",h$5=\"[object Date]\",R$5=\"[object Error]\",S$5=\"[object Function]\",C$5=\"[object Map]\",b$5=\"[object Number]\",x$5=\"[object Object]\",I$5=\"[object RegExp]\",u$5=\"[object Set]\",m$5=\"[object String]\",B$5=\"[object WeakMap]\",p$5=\"[object ArrayBuffer]\",g$5=\"[object DataView]\",F$5=\"[object Float32Array]\",U$5=\"[object Float64Array]\",Q$5=\"[object Int8Array]\",d$5=\"[object Int16Array]\",c$5=\"[object Int32Array]\",l$5=\"[object Uint8Array]\",n$5=\"[object Uint8ClampedArray]\",i$5=\"[object Uint16Array]\",r$5=\"[object Uint32Array]\",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8==\"object\"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8==\"object\"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require(\"util\").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding(\"util\")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j==\"length\"||Y&&(j==\"offset\"||j==\"parent\")||A&&(j==\"buffer\"||j==\"byteLength\"||j==\"byteOffset\")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K==\"function\"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!=\"constructor\")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M==\"constructor\")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&((\"constructor\"in q)&&(\"constructor\"in K))&&!(typeof v==\"function\"&&v instanceof v&&typeof V==\"function\"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,\"DataView\"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,\"Promise\"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,\"Set\"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,\"WeakMap\"),Xz8=vw5});var sM7=\"[object Map]\",Tw5=\"[object Object]\",tM7=\"[object Promise]\",eM7=\"[object Set]\",qX7=\"[object WeakMap]\",KX7=\"[object DataView]\",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();Q_8();oM7();Ta8();aM7();M_6();Oa8();Vw5=rl(Jz8),kw5=rl(ne),Nw5=rl(Mz8),yw5=rl(oe),Ew5=rl(Xz8),D_6=YL;if(Jz8&&D_6(new Jz8(new ArrayBuffer(1)))!=KX7||ne&&D_6(new ne)!=sM7||Mz8&&D_6(Mz8.resolve())!=tM7||oe&&D_6(new oe)!=eM7||Xz8&&D_6(new Xz8)!=qX7)D_6=function(q){var K=YL(q),_=K==Tw5?q.constructor:void 0,z=_?rl(_):\"\";if(z)switch(z){case Vw5:return KX7;case kw5:return sM7;case Nw5:return tM7;case yw5:return eM7;case Ew5:return qX7}return K};sl=D_6});function Rw5(q,K,_,z,Y,A){var O=DO(q),$=DO(K),w=O?zX7:sl(q),j=$?zX7:sl(K);w=w==_X7?Pz8:w,j=j==_X7?Pz8:j;var H=w==Pz8,J=j==Pz8,M=w==j;if(M&&fg(q)){if(!fg(K))return!1;O=!0,H=!1}if(M&&!H)return A||(A=new Dg),O||aP6(q)?i_8(q,K,_,z,Y,A):EM7(q,K,w,_,z,Y,A);if(!(_&Lw5)){var X=H&&YX7.call(q,\"__wrapped__\"),P=J&&YX7.call(K,\"__wrapped__\");if(X||P){var D=X?q.value():q,W=P?K.value():K;return A||(A=new Dg),Y(D,W,_,z,A)}}if(!M)return!1;return A||(A=new Dg),nM7(q,K,_,z,Y,A)}var Lw5=1,_X7=\"[object Arguments]\",zX7=\"[object Array]\",Pz8=\"[object Object]\",hw5,YX7,AX7;var OX7=L(()=>{Au6();Ha8();LM7();iM7();Ju6();RT();$u6();$z8();hw5=Object.prototype,YX7=hw5.hasOwnProperty;AX7=Rw5});function $X7(q,K,_,z,Y){if(q===K)return!0;if(q==null||K==null||!QP(q)&&!QP(K))return q!==q&&K!==K;return AX7(q,K,_,z,$X7,Y)}var eP6;var Dz8=L(()=>{OX7();Wg();eP6=$X7});function bw5(q,K,_,z){var Y=_.length,A=Y,O=!z;if(q==null)return!A;q=Object(q);while(Y--){var $=_[Y];if(O&&$[2]?$[1]!==q[$[0]]:!($[0]in q))return!1}while(++Y<A){$=_[Y];var w=$[0],j=q[w],H=$[1];if(O&&$[2]){if(j===void 0&&!(w in q))return!1}else{var J=new Dg;if(z)var M=z(j,H,w,q,K,J);if(!(M===void 0?eP6(H,j,Sw5|Cw5,z,J):M))return!1}}return!0}var Sw5=1,Cw5=2,wX7;var jX7=L(()=>{Au6();Dz8();wX7=bw5});function xw5(q){return q===q&&!PO(q)}var Wz8;var Va8=L(()=>{hT();Wz8=xw5});function Iw5(q){var K=tR(q),_=K.length;while(_--){var z=K[_],Y=q[z];K[_]=[z,Y,Wz8(Y)]}return K}var HX7;var JX7=L(()=>{Va8();P_6();HX7=Iw5});function uw5(q,K){return function(_){if(_==null)return!1;return _[q]===K&&(K!==void 0||(q in Object(_)))}}var fz8;var ka8=L(()=>{fz8=uw5});function mw5(q){var K=HX7(q);if(K.length==1&&K[0][2])return fz8(K[0][0],K[0][1]);return function(_){return _===q||wX7(_,q,K)}}var MX7;var XX7=L(()=>{jX7();JX7();ka8();MX7=mw5});function pw5(q){return typeof q==\"symbol\"||QP(q)&&YL(q)==Bw5}var Bw5=\"[object Symbol]\",ae;var Mu6=L(()=>{M_6();Wg();ae=pw5});function Uw5(q,K){if(DO(q))return!1;var _=typeof q;if(_==\"number\"||_==\"symbol\"||_==\"boolean\"||q==null||ae(q))return!0;return Fw5.test(q)||!gw5.test(q)||K!=null&&q in Object(K)}var gw5,Fw5,qD6;var Zz8=L(()=>{RT();Mu6();gw5=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Fw5=/^\\w*$/;qD6=Uw5});function Na8(q,K){if(typeof q!=\"function\"||K!=null&&typeof K!=\"function\")throw TypeError(Qw5);var _=function(){var z=arguments,Y=K?K.apply(this,z):z[0],A=_.cache;if(A.has(Y))return A.get(Y);var O=q.apply(this,z);return _.cache=A.set(Y,O)||A,O};return _.cache=new(Na8.Cache||X_6),_}var Qw5=\"Expected a function\",A1;var h4=L(()=>{d_8();Na8.Cache=X_6;A1=Na8});function cw5(q){var K=A1(q,function(z){if(_.size===dw5)_.clear();return z}),_=K.cache;return K}var dw5=500,PX7;var DX7=L(()=>{h4();PX7=cw5});var lw5,nw5,iw5,WX7;var fX7=L(()=>{DX7();lw5=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,nw5=/\\\\(\\\\)?/g,iw5=PX7(function(q){var K=[];if(q.charCodeAt(0)===46)K.push(\"\");return q.replace(lw5,function(_,z,Y,A){K.push(Y?A.replace(nw5,\"$1\"):z||_)}),K}),WX7=iw5});function rw5(q,K){var _=-1,z=q==null?0:q.length,Y=Array(z);while(++_<z)Y[_]=K(q[_],_,q);return Y}var se;var Xu6=L(()=>{se=rw5});function vX7(q){if(typeof q==\"string\")return q;if(DO(q))return se(q,vX7)+\"\";if(ae(q))return GX7?GX7.call(q):\"\";var K=q+\"\";return K==\"0\"&&1/q==-ow5?\"-0\":K}var ow5=1/0,ZX7,GX7,TX7;var VX7=L(()=>{J_6();Xu6();RT();Mu6();ZX7=YW?YW.prototype:void 0,GX7=ZX7?ZX7.toString:void 0;TX7=vX7});function aw5(q){return q==null?\"\":TX7(q)}var KD6;var Gz8=L(()=>{VX7();KD6=aw5});function sw5(q,K){if(DO(q))return q;return qD6(q,K)?[q]:WX7(KD6(q))}var eR;var W_6=L(()=>{RT();Zz8();fX7();Gz8();eR=sw5});function ew5(q){if(typeof q==\"string\"||ae(q))return q;var K=q+\"\";return K==\"0\"&&1/q==-tw5?\"-0\":K}var tw5=1/0,qS;var f_6=L(()=>{Mu6();qS=ew5});function q25(q,K){K=eR(K,q);var _=0,z=K.length;while(q!=null&&_<z)q=q[qS(K[_++])];return _&&_==z?q:void 0}var te;var Pu6=L(()=>{W_6();f_6();te=q25});function K25(q,K,_){var z=q==null?void 0:te(q,K);return z===void 0?_:z}var kX7;var NX7=L(()=>{Pu6();kX7=K25});function _25(q,K){return q!=null&&K in Object(q)}var yX7;var EX7=L(()=>{yX7=_25});function z25(q,K,_){K=eR(K,q);var z=-1,Y=K.length,A=!1;while(++z<Y){var O=qS(K[z]);if(!(A=q!=null&&_(q,O)))break;q=q[O]}if(A||++z!=Y)return A;return Y=q==null?0:q.length,!!Y&&rP6(Y)&&re(O,Y)&&(DO(q)||al(q))}var LX7;var hX7=L(()=>{W_6();Ou6();RT();wu6();_z8();f_6();LX7=z25});function Y25(q,K){return q!=null&&LX7(q,K,yX7)}var RX7;var SX7=L(()=>{EX7();hX7();RX7=Y25});function $25(q,K){if(qD6(q)&&Wz8(K))return fz8(qS(q),K);return function(_){var z=kX7(_,q);return z===void 0&&z===K?RX7(_,q):eP6(K,z,A25|O25)}}var A25=1,O25=2,CX7;var bX7=L(()=>{Dz8();NX7();SX7();Zz8();Va8();ka8();f_6();CX7=$25});function w25(q){return q}var _D6;var vz8=L(()=>{_D6=w25});function j25(q){return function(K){return K==null?void 0:K[q]}}var xX7;var IX7=L(()=>{xX7=j25});function H25(q){return function(K){return te(K,q)}}var uX7;var mX7=L(()=>{Pu6();uX7=H25});function J25(q){return qD6(q)?xX7(qS(q)):uX7(q)}var BX7;var pX7=L(()=>{IX7();mX7();Zz8();f_6();BX7=J25});function M25(q){if(typeof q==\"function\")return q;if(q==null)return _D6;if(typeof q==\"object\")return DO(q)?CX7(q[0],q[1]):MX7(q);return BX7(q)}var rk;var ee=L(()=>{XX7();bX7();vz8();RT();pX7();rk=M25});function X25(q,K){var _,z=-1,Y=q.length;while(++z<Y){var A=K(q[z]);if(A!==void 0)_=_===void 0?A:_+A}return _}var gX7;var FX7=L(()=>{gX7=X25});function P25(q,K){return q&&q.length?gX7(q,rk(K,2)):0}var zD6;var UX7=L(()=>{ee();FX7();zD6=P25});import{randomUUID as Du6}from\"crypto\";var ya8=()=>{};function QX7(){return Ea8}function dX7(q){Ea8=q}function cX7(q){return Tz8.has(q)?Tz8.get(q):void 0}function lX7(q,K){Tz8.set(q,K)}function nX7(q){return La8.get(q)}function iX7(q,K){La8.set(q,K)}function AW(){Ea8=null,Tz8.clear(),La8.clear()}function Vz8(){return ha8}function rX7(q){ha8=q}function oX7(){ha8=void 0}var Ea8=null,Tz8,La8,ha8;var tl=L(()=>{Tz8=new Map;La8=new Map});function E9(){let q=new Set;return{subscribe(K){return q.add(K),()=>{q.delete(K)}},emit(...K){for(let _ of q)_(...K)},clear(){q.clear()}}}var DD6={};f8(DD6,{waitForScrollIdle:()=>Vu6,updateLastInteractionTime:()=>G_6,switchSession:()=>Yf,snapshotOutputTokensForTurn:()=>h25,setUserMsgOptIn:()=>Vg,setUseCoworkPlugins:()=>OL,setTracerProvider:()=>xz8,setThinkingClearLatched:()=>Yt8,setTeleportedSessionInfo:()=>Bu6,setSystemPromptSectionCacheEntry:()=>is8,setStrictToolResultPairing:()=>I25,setStatsStore:()=>ca8,setSessionTrustAccepted:()=>Iu6,setSessionSource:()=>fs8,setSessionPersistenceDisabled:()=>ms8,setSessionIngressToken:()=>y_6,setSessionBypassPermissionsMode:()=>Is8,setSdkBetas:()=>Ys8,setSdkAgentProgressSummariesEnabled:()=>Ps8,setScheduledTasksEnabled:()=>bu6,setQuestionPreviewFormat:()=>uz8,setPromptId:()=>Fu6,setPromptCache1hAllowlist:()=>ss8,setProjectRoot:()=>fu6,setOriginalCwd:()=>KS,setOauthTokenFromFd:()=>Vs8,setNeedsPlanModeExitAttachment:()=>gI,setNeedsAutoModeExitAttachment:()=>CG,setModelStrings:()=>Nu6,setMeterProvider:()=>bz8,setMeter:()=>As8,setMemoryToggledOff:()=>Ws8,setMainThreadAgentType:()=>_n,setMainLoopModelOverride:()=>dP,setLspRecommendationShownThisSession:()=>Us8,setLoopChainStartedAt:()=>g25,setLoggerProvider:()=>Sz8,setLastMainRequestId:()=>ea8,setLastEmittedDate:()=>PD6,setLastClassifierRequests:()=>hu6,setLastApiCompletionTimestamp:()=>Tu6,setLastAPIRequestMessages:()=>Ls8,setLastAPIRequest:()=>ys8,setKairosActive:()=>x25,setIsRemoteMode:()=>ls8,setIsInteractive:()=>Ms8,setInlinePlugins:()=>bs8,setInitialMainLoopModel:()=>zs8,setInitJsonSchema:()=>Qs8,setHasUnknownModelCost:()=>hz8,setHasExitedPlanMode:()=>$L,setHasDevChannels:()=>Qz8,setFlagSettingsPath:()=>Zs8,setFlagSettingsInline:()=>Gs8,setFastModeHeaderLatched:()=>Kt8,setEventLogger:()=>Cz8,setDirectConnectServerUrl:()=>W25,setCwdState:()=>Ia8,setCostStateForRestore:()=>ku6,setClientType:()=>Xs8,setChromeFlagOverride:()=>xs8,setCachedClaudeMdContent:()=>hs8,setCacheEditingHeaderLatched:()=>d25,setApiKeyFromFd:()=>Ns8,setAllowedSettingSources:()=>Cs8,setAllowedChannels:()=>zn,setAfkModeHeaderLatched:()=>es8,setAdditionalDirectoriesForClaudeMd:()=>pu6,setActiveRoutine:()=>Z25,resetTurnToolDuration:()=>Ua8,resetTurnHookDuration:()=>Fa8,resetTurnClassifierDuration:()=>da8,resetTotalDurationStateAndCost_FOR_TESTS_ONLY:()=>G25,resetStateForTests:()=>_P7,resetSdkInitState:()=>YP7,resetModelStringsForTestingOnly:()=>C25,resetCostState:()=>OD6,removeSessionCronTasks:()=>xu6,registerHookCallbacks:()=>z66,regenerateSessionId:()=>Sa8,preferThirdPartyAuthentication:()=>Ru6,onSessionSwitch:()=>xa8,onInteraction:()=>ra8,needsPlanModeExitAttachment:()=>Bs8,needsAutoModeExitAttachment:()=>ps8,markScrollActivity:()=>Ks8,markPostCompaction:()=>K66,markFirstTeleportMessageLogged:()=>Fz8,isSessionPersistenceDisabled:()=>ok,incrementBudgetContinuationCount:()=>S25,hasUnknownModelCost:()=>ta8,hasShownLspRecommendationThisSession:()=>Fs8,hasExitedPlanModeInSession:()=>uu6,handlePlanModeTransition:()=>Kn,handleAutoModeTransition:()=>gs8,getUserMsgOptIn:()=>AL,getUseCoworkPlugins:()=>Cu6,getUsageForModel:()=>_s8,getTurnToolDurationMs:()=>V25,getTurnToolCount:()=>k25,getTurnOutputTokens:()=>E25,getTurnHookDurationMs:()=>v25,getTurnHookCount:()=>T25,getTurnClassifierDurationMs:()=>N25,getTurnClassifierCount:()=>y25,getTracerProvider:()=>N_6,getTotalWebSearchRequests:()=>oa8,getTotalToolDuration:()=>ga8,getTotalOutputTokens:()=>el,getTotalLinesRemoved:()=>T_6,getTotalLinesAdded:()=>v_6,getTotalInputTokens:()=>V_6,getTotalDuration:()=>YD6,getTotalCostUSD:()=>XM,getTotalCacheReadInputTokens:()=>Zu6,getTotalCacheCreationInputTokens:()=>Gu6,getTotalAPIDurationWithoutRetries:()=>pa8,getTotalAPIDuration:()=>RG,getTokenCounter:()=>wD6,getThinkingClearLatched:()=>zt8,getTeleportedSessionInfo:()=>gz8,getSystemPromptSectionCache:()=>ns8,getStrictToolResultPairing:()=>Ds8,getStatsStore:()=>q66,getSlowOperations:()=>OP7,getSessionTrustAccepted:()=>MD6,getSessionSource:()=>u25,getSessionProjectDir:()=>Z_6,getSessionIngressToken:()=>vs8,getSessionId:()=>N8,getSessionCronTasks:()=>L_6,getSessionCreatedTeams:()=>mu6,getSessionCounter:()=>Os8,getSessionBypassPermissionsMode:()=>E_6,getSdkBetas:()=>OW,getSdkAgentProgressSummariesEnabled:()=>vg,getScheduledTasksEnabled:()=>JD6,getRegisteredHooks:()=>zS,getQuestionPreviewFormat:()=>Iz8,getPromptId:()=>gu6,getPromptCache1hAllowlist:()=>as8,getProjectRoot:()=>wz,getPrCounter:()=>yu6,getPlanSlugCache:()=>h_6,getParentSessionId:()=>Ca8,getOriginalCwd:()=>A7,getOauthTokenFromFd:()=>Ts8,getModelUsage:()=>ST,getModelStrings:()=>$D6,getMeterProvider:()=>Js8,getMeter:()=>b25,getMemoryToggledOff:()=>Tg,getMainThreadAgentType:()=>Ng,getMainLoopModelOverride:()=>pI,getLoopChainStartedAt:()=>p25,getLoggerProvider:()=>Lu6,getLocCounter:()=>Rz8,getLastMainRequestId:()=>vu6,getLastInteractionTime:()=>_S,getLastEmittedDate:()=>os8,getLastClassifierRequests:()=>zP7,getLastApiCompletionTimestamp:()=>qn,getLastAPIRequestMessages:()=>m25,getLastAPIRequest:()=>Es8,getKairosActive:()=>SG,getIsScrollDraining:()=>k_6,getIsRemoteMode:()=>cK,getIsNonInteractiveSession:()=>d7,getIsInteractive:()=>CT,getInvokedSkillsForAgent:()=>ds8,getInvokedSkills:()=>Q25,getInlinePlugins:()=>kg,getInitialMainLoopModel:()=>AD6,getInitJsonSchema:()=>Bz8,getHasDevChannels:()=>Uz8,getFlagSettingsPath:()=>_66,getFlagSettingsInline:()=>HD6,getFastModeHeaderLatched:()=>qt8,getEventLogger:()=>Hs8,getDirectConnectServerUrl:()=>ua8,getCwdState:()=>BI,getCurrentTurnTokenBudget:()=>L25,getCostCounter:()=>ws8,getCommitCounter:()=>$s8,getCodeEditToolDecisionCounter:()=>Eu6,getClientType:()=>jD6,getChromeFlagOverride:()=>Su6,getCachedClaudeMdContent:()=>Rs8,getCacheEditingHeaderLatched:()=>_t8,getBudgetContinuationCount:()=>R25,getApiKeyFromFd:()=>ks8,getAllowedSettingSources:()=>Ss8,getAllowedChannels:()=>TJ,getAgentColorMap:()=>mz8,getAfkModeHeaderLatched:()=>ts8,getAdditionalDirectoriesForClaudeMd:()=>bG,getActiveTimeCounter:()=>js8,getActiveRoutine:()=>f25,flushInteractionTime:()=>na8,deleteLoopChainStartedAt:()=>F25,consumePostCompaction:()=>qs8,clearSystemPromptSectionState:()=>rs8,clearRegisteredPluginHooks:()=>pz8,clearRegisteredHooks:()=>U25,clearInvokedSkillsForAgent:()=>Y66,clearInvokedSkills:()=>cs8,clearBetaHeaderLatches:()=>At8,addToTurnHookDuration:()=>yz8,addToTurnClassifierDuration:()=>Qa8,addToTotalLinesChanged:()=>Ez8,addToTotalDurationState:()=>ma8,addToTotalCostState:()=>Ba8,addToToolDuration:()=>Nz8,addToInMemoryErrorLog:()=>B25,addSlowOperation:()=>AP7,addSessionCronTask:()=>us8,addInvokedSkill:()=>XD6});import{realpathSync as aX7}from\"fs\";import{cwd as D25}from\"process\";function eX7(){let q=\"\";if(typeof process<\"u\"&&typeof process.cwd===\"function\"&&typeof aX7===\"function\"){let _=D25();try{q=aX7(_).normalize(\"NFC\")}catch{q=_.normalize(\"NFC\")}}return{originalCwd:q,projectRoot:q,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,turnHookDurationMs:0,turnToolDurationMs:0,turnClassifierDurationMs:0,turnToolCount:0,turnHookCount:0,turnClassifierCount:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:q,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,kairosActive:!1,strictToolResultPairing:!1,memoryToggledOff:!1,sdkAgentProgressSummariesEnabled:!1,userMsgOptIn:!1,clientType:\"cli\",sessionSource:void 0,questionPreviewFormat:void 0,sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,flagSettingsInline:null,allowedSettingSources:[\"userSettings\",\"projectSettings\",\"localSettings\",\"flagSettings\",\"policySettings\"],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,statsStore:null,sessionId:Du6(),parentSessionId:void 0,loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,lastAPIRequest:null,lastAPIRequestMessages:null,lastClassifierRequests:null,cachedClaudeMdContent:null,inMemoryErrorLog:[],inlinePlugins:[],chromeFlagOverride:void 0,useCoworkPlugins:!1,sessionBypassPermissionsMode:!1,scheduledTasksEnabled:!1,sessionCronTasks:[],loopChainStartedAt:Object.create(null),sessionCreatedTeams:new Set,sessionTrustAccepted:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,needsAutoModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map,slowOperations:[],sdkBetas:void 0,mainThreadAgentType:void 0,isRemoteMode:!1,...!1,directConnectServerUrl:void 0,activeRoutine:void 0,systemPromptSectionCache:new Map,lastEmittedDate:null,additionalDirectoriesForClaudeMd:[],allowedChannels:[],hasDevChannels:!1,sessionProjectDir:null,promptCache1hAllowlist:null,afkModeHeaderLatched:null,fastModeHeaderLatched:null,cacheEditingHeaderLatched:null,thinkingClearLatched:null,promptId:null,lastMainRequestId:void 0,lastApiCompletionTimestamp:null,pendingPostCompaction:!1}}function N8(){return G8.sessionId}function Sa8(q={}){if(q.setCurrentAsParent)G8.parentSessionId=G8.sessionId;return G8.planSlugCache.delete(G8.sessionId),G8.sessionId=Du6(),G8.sessionProjectDir=null,G8.sessionId}function Ca8(){return G8.parentSessionId}function Yf(q,K=null){if(G8.sessionId!==q)G8.planSlugCache.delete(G8.sessionId);G8.sessionId=q,G8.sessionProjectDir=K,ba8.emit(q)}function Z_6(){return G8.sessionProjectDir}function A7(){return G8.originalCwd}function wz(){return G8.projectRoot}function KS(q){G8.originalCwd=q.normalize(\"NFC\")}function fu6(q){G8.projectRoot=q.normalize(\"NFC\")}function BI(){return G8.cwd}function Ia8(q){G8.cwd=q.normalize(\"NFC\")}function ua8(){return G8.directConnectServerUrl}function W25(q){G8.directConnectServerUrl=q}function f25(){return G8.activeRoutine}function Z25(q){G8.activeRoutine=q}function ma8(q,K){G8.totalAPIDuration+=q,G8.totalAPIDurationWithoutRetries+=K}function G25(){G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalCostUSD=0}function Ba8(q,K,_){G8.modelUsage[_]=K,G8.totalCostUSD+=q}function XM(){return G8.totalCostUSD}function RG(){return G8.totalAPIDuration}function YD6(){return Date.now()-G8.startTime}function pa8(){return G8.totalAPIDurationWithoutRetries}function ga8(){return G8.totalToolDuration}function Nz8(q){G8.totalToolDuration+=q,G8.turnToolDurationMs+=q,G8.turnToolCount++}function v25(){return G8.turnHookDurationMs}function yz8(q){G8.turnHookDurationMs+=q,G8.turnHookCount++}function Fa8(){G8.turnHookDurationMs=0,G8.turnHookCount=0}function T25(){return G8.turnHookCount}function V25(){return G8.turnToolDurationMs}function Ua8(){G8.turnToolDurationMs=0,G8.turnToolCount=0}function k25(){return G8.turnToolCount}function N25(){return G8.turnClassifierDurationMs}function Qa8(q){G8.turnClassifierDurationMs+=q,G8.turnClassifierCount++}function da8(){G8.turnClassifierDurationMs=0,G8.turnClassifierCount=0}function y25(){return G8.turnClassifierCount}function q66(){return G8.statsStore}function ca8(q){G8.statsStore=q}function G_6(q){if(q)qP7();else la8=!0}function na8(){if(la8)qP7()}function qP7(){G8.lastInteractionTime=Date.now(),la8=!1,ia8.emit()}function Ez8(q,K){G8.totalLinesAdded+=q,G8.totalLinesRemoved+=K}function v_6(){return G8.totalLinesAdded}function T_6(){return G8.totalLinesRemoved}function V_6(){return zD6(Object.values(G8.modelUsage),\"inputTokens\")}function el(){return zD6(Object.values(G8.modelUsage),\"outputTokens\")}function Zu6(){return zD6(Object.values(G8.modelUsage),\"cacheReadInputTokens\")}function Gu6(){return zD6(Object.values(G8.modelUsage),\"cacheCreationInputTokens\")}function oa8(){return zD6(Object.values(G8.modelUsage),\"webSearchRequests\")}function E25(){return el()-aa8}function L25(){return sa8}function h25(q){aa8=el(),sa8=q,Lz8=0}function R25(){return Lz8}function S25(){Lz8++}function hz8(){G8.hasUnknownModelCost=!0}function ta8(){return G8.hasUnknownModelCost}function vu6(){return G8.lastMainRequestId}function ea8(q){G8.lastMainRequestId=q}function qn(){return G8.lastApiCompletionTimestamp}function Tu6(q){G8.lastApiCompletionTimestamp=q}function K66(){G8.pendingPostCompaction=!0}function qs8(){let q=G8.pendingPostCompaction;return G8.pendingPostCompaction=!1,q}function _S(){return G8.lastInteractionTime}function Ks8(){if(kz8=!0,Wu6)clearTimeout(Wu6);Wu6=setTimeout(()=>{kz8=!1,Wu6=void 0},KP7),Wu6.unref?.()}function k_6(){return kz8}async function Vu6(){while(kz8)await new Promise((q)=>setTimeout(q,KP7).unref?.())}function ST(){return G8.modelUsage}function _s8(q){return G8.modelUsage[q]}function pI(){return G8.mainLoopModelOverride}function AD6(){return G8.initialMainLoopModel}function dP(q){G8.mainLoopModelOverride=q}function zs8(q){G8.initialMainLoopModel=q}function OW(){return G8.sdkBetas}function Ys8(q){G8.sdkBetas=q}function OD6(){G8.totalCostUSD=0,G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalToolDuration=0,G8.startTime=Date.now(),G8.totalLinesAdded=0,G8.totalLinesRemoved=0,G8.hasUnknownModelCost=!1,G8.modelUsage={},G8.promptId=null}function ku6({totalCostUSD:q,totalAPIDuration:K,totalAPIDurationWithoutRetries:_,totalToolDuration:z,totalLinesAdded:Y,totalLinesRemoved:A,lastDuration:O,modelUsage:$}){if(G8.totalCostUSD=q,G8.totalAPIDuration=K,G8.totalAPIDurationWithoutRetries=_,G8.totalToolDuration=z,G8.totalLinesAdded=Y,G8.totalLinesRemoved=A,$)G8.modelUsage=$;if(O)G8.startTime=Date.now()-O}function _P7(){throw Error(\"resetStateForTests can only be called in tests\")}function $D6(){return G8.modelStrings}function Nu6(q){G8.modelStrings=q}function C25(){G8.modelStrings=null}function As8(q,K){G8.meter=q,G8.sessionCounter=K(\"claude_code.session.count\",{description:\"Count of CLI sessions started\"}),G8.locCounter=K(\"claude_code.lines_of_code.count\",{description:\"Count of lines of code modified, with the 'type' attribute indicating whether lines were added or removed\"}),G8.prCounter=K(\"claude_code.pull_request.count\",{description:\"Number of pull requests created\"}),G8.commitCounter=K(\"claude_code.commit.count\",{description:\"Number of git commits created\"}),G8.costCounter=K(\"claude_code.cost.usage\",{description:\"Cost of the Claude Code session\",unit:\"USD\"}),G8.tokenCounter=K(\"claude_code.token.usage\",{description:\"Number of tokens used\",unit:\"tokens\"}),G8.codeEditToolDecisionCounter=K(\"claude_code.code_edit_tool.decision\",{description:\"Count of code editing tool permission decisions (accept/reject) for Edit, Write, and NotebookEdit tools\"}),G8.activeTimeCounter=K(\"claude_code.active_time.total\",{description:\"Total active time in seconds\",unit:\"s\"})}function b25(){return G8.meter}function Os8(){return G8.sessionCounter}function Rz8(){return G8.locCounter}function yu6(){return G8.prCounter}function $s8(){return G8.commitCounter}function ws8(){return G8.costCounter}function wD6(){return G8.tokenCounter}function Eu6(){return G8.codeEditToolDecisionCounter}function js8(){return G8.activeTimeCounter}function Lu6(){return G8.loggerProvider}function Sz8(q){G8.loggerProvider=q}function Hs8(){return G8.eventLogger}function Cz8(q){G8.eventLogger=q}function Js8(){return G8.meterProvider}function bz8(q){G8.meterProvider=q}function N_6(){return G8.tracerProvider}function xz8(q){G8.tracerProvider=q}function d7(){return!G8.isInteractive}function CT(){return G8.isInteractive}function Ms8(q){G8.isInteractive=q}function jD6(){return G8.clientType}function Xs8(q){G8.clientType=q}function vg(){return G8.sdkAgentProgressSummariesEnabled}function Ps8(q){G8.sdkAgentProgressSummariesEnabled=q}function SG(){return G8.kairosActive}function x25(q){G8.kairosActive=q}function Ds8(){return G8.strictToolResultPairing}function I25(q){G8.strictToolResultPairing=q}function Tg(){return G8.memoryToggledOff}function Ws8(q){G8.memoryToggledOff=q}function AL(){return G8.userMsgOptIn}function Vg(q){G8.userMsgOptIn=q}function u25(){return G8.sessionSource}function fs8(q){G8.sessionSource=q}function Iz8(){return G8.questionPreviewFormat}function uz8(q){G8.questionPreviewFormat=q}function mz8(){return G8.agentColorMap}function _66(){return G8.flagSettingsPath}function Zs8(q){G8.flagSettingsPath=q}function HD6(){return G8.flagSettingsInline}function Gs8(q){G8.flagSettingsInline=q}function vs8(){return G8.sessionIngressToken}function y_6(q){G8.sessionIngressToken=q}function Ts8(){return G8.oauthTokenFromFd}function Vs8(q){G8.oauthTokenFromFd=q}function ks8(){return G8.apiKeyFromFd}function Ns8(q){G8.apiKeyFromFd=q}function ys8(q){G8.lastAPIRequest=q}function Es8(){return G8.lastAPIRequest}function Ls8(q){G8.lastAPIRequestMessages=q}function m25(){return G8.lastAPIRequestMessages}function hu6(q){G8.lastClassifierRequests=q}function zP7(){return G8.lastClassifierRequests}function hs8(q){G8.cachedClaudeMdContent=q}function Rs8(){return G8.cachedClaudeMdContent}function B25(q){if(G8.inMemoryErrorLog.length>=100)G8.inMemoryErrorLog.shift();G8.inMemoryErrorLog.push(q)}function Ss8(){return G8.allowedSettingSources}function Cs8(q){G8.allowedSettingSources=q}function Ru6(){return d7()&&G8.clientType!==\"claude-vscode\"}function bs8(q){G8.inlinePlugins=q}function kg(){return G8.inlinePlugins}function xs8(q){G8.chromeFlagOverride=q}function Su6(){return G8.chromeFlagOverride}function OL(q){G8.useCoworkPlugins=q,AW()}function Cu6(){return G8.useCoworkPlugins}function Is8(q){G8.sessionBypassPermissionsMode=q}function E_6(){return G8.sessionBypassPermissionsMode}function bu6(q){G8.scheduledTasksEnabled=q}function JD6(){return G8.scheduledTasksEnabled}function L_6(){return G8.sessionCronTasks}function us8(q){G8.sessionCronTasks.push(q)}function p25(q){return G8.loopChainStartedAt[q]}function g25(q,K){G8.loopChainStartedAt[q]=K}function F25(q){delete G8.loopChainStartedAt[q]}function xu6(q){if(q.length===0)return 0;let K=new Set(q),_=G8.sessionCronTasks.filter((Y)=>!K.has(Y.id)),z=G8.sessionCronTasks.length-_.length;if(z===0)return 0;return G8.sessionCronTasks=_,z}function Iu6(q){G8.sessionTrustAccepted=q}function MD6(){return G8.sessionTrustAccepted}function ms8(q){G8.sessionPersistenceDisabled=q}function ok(){return G8.sessionPersistenceDisabled}function uu6(){return G8.hasExitedPlanMode}function $L(q){G8.hasExitedPlanMode=q}function Bs8(){return G8.needsPlanModeExitAttachment}function gI(q){G8.needsPlanModeExitAttachment=q}function Kn(q,K){if(K===\"plan\"&&q!==\"plan\")G8.needsPlanModeExitAttachment=!1;if(q===\"plan\"&&K!==\"plan\")G8.needsPlanModeExitAttachment=!0}function ps8(){return G8.needsAutoModeExitAttachment}function CG(q){G8.needsAutoModeExitAttachment=q}function gs8(q,K){if(q===\"auto\"&&K===\"plan\"||q===\"plan\"&&K===\"auto\")return;let _=q===\"auto\",z=K===\"auto\";if(z&&!_)G8.needsAutoModeExitAttachment=!1;if(_&&!z)G8.needsAutoModeExitAttachment=!0}function Fs8(){return G8.lspRecommendationShownThisSession}function Us8(q){G8.lspRecommendationShownThisSession=q}function Qs8(q){G8.initJsonSchema=q}function Bz8(){return G8.initJsonSchema}function z66(q){if(!G8.registeredHooks)G8.registeredHooks={};for(let[K,_]of Object.entries(q)){let z=K;if(!G8.registeredHooks[z])G8.registeredHooks[z]=[];G8.registeredHooks[z].push(..._)}}function zS(){return G8.registeredHooks}function U25(){G8.registeredHooks=null}function pz8(){if(!G8.registeredHooks)return;let q={};for(let[K,_]of Object.entries(G8.registeredHooks)){let z=_.filter((Y)=>!(\"pluginRoot\"in Y));if(z.length>0)q[K]=z}G8.registeredHooks=Object.keys(q).length>0?q:null}function YP7(){G8.initJsonSchema=null,G8.registeredHooks=null}function h_6(){return G8.planSlugCache}function mu6(){return G8.sessionCreatedTeams}function Bu6(q){G8.teleportedSessionInfo={isTeleported:!0,hasLoggedFirstMessage:!1,sessionId:q.sessionId}}function gz8(){return G8.teleportedSessionInfo}function Fz8(){if(G8.teleportedSessionInfo)G8.teleportedSessionInfo.hasLoggedFirstMessage=!0}function XD6(q,K,_,z=null){let Y=`${z??\"\"}:${q}`;G8.invokedSkills.set(Y,{skillName:q,skillPath:K,content:_,invokedAt:Date.now(),agentId:z})}function Q25(){return G8.invokedSkills}function ds8(q){let K=q??null,_=new Map;for(let[z,Y]of G8.invokedSkills)if(Y.agentId===K)_.set(z,Y);return _}function cs8(q){if(!q||q.size===0){G8.invokedSkills.clear();return}for(let[K,_]of G8.invokedSkills)if(_.agentId===null||!q.has(_.agentId))G8.invokedSkills.delete(K)}function Y66(q){for(let[K,_]of G8.invokedSkills)if(_.agentId===q)G8.invokedSkills.delete(K)}function AP7(q,K){return}function OP7(){if(G8.slowOperations.length===0)return tX7;let q=Date.now();if(G8.slowOperations.some((K)=>q-K.timestamp>=Ra8)){if(G8.slowOperations=G8.slowOperations.filter((K)=>q-K.timestamp<Ra8),G8.slowOperations.length===0)return tX7}return G8.slowOperations}function Ng(){return G8.mainThreadAgentType}function _n(q){G8.mainThreadAgentType=q}function cK(){return G8.isRemoteMode}function ls8(q){G8.isRemoteMode=q}function ns8(){return G8.systemPromptSectionCache}function is8(q,K){G8.systemPromptSectionCache.set(q,K)}function rs8(){G8.systemPromptSectionCache.clear()}function os8(){return G8.lastEmittedDate}function PD6(q){G8.lastEmittedDate=q}function bG(){return G8.additionalDirectoriesForClaudeMd}function pu6(q){G8.additionalDirectoriesForClaudeMd=q}function TJ(){return G8.allowedChannels}function zn(q){G8.allowedChannels=q}function Uz8(){return G8.hasDevChannels}function Qz8(q){G8.hasDevChannels=q}function as8(){return G8.promptCache1hAllowlist}function ss8(q){G8.promptCache1hAllowlist=q}function ts8(){return G8.afkModeHeaderLatched}function es8(q){G8.afkModeHeaderLatched=q}function qt8(){return G8.fastModeHeaderLatched}function Kt8(q){G8.fastModeHeaderLatched=q}function _t8(){return G8.cacheEditingHeaderLatched}function d25(q){G8.cacheEditingHeaderLatched=q}function zt8(){return G8.thinkingClearLatched}function Yt8(q){G8.thinkingClearLatched=q}function At8(){G8.afkModeHeaderLatched=null,G8.fastModeHeaderLatched=null,G8.cacheEditingHeaderLatched=null,G8.thinkingClearLatched=null}function gu6(){return G8.promptId}function Fu6(q){G8.promptId=q}var G8,ba8,xa8,la8=!1,ia8,ra8,aa8=0,sa8=null,Lz8=0,kz8=!1,Wu6,KP7=150,sX7=10,Ra8=1e4,tX7;var v8=L(()=>{UX7();ya8();tl();G8=eX7();ba8=E9(),xa8=ba8.subscribe;ia8=E9(),ra8=ia8.subscribe;tX7=[]});function dz8(q){let K;for(let _ in q)if(_.startsWith(\"_PROTO_\")){if(K===void 0)K={...q};delete K[_]}return K??q}function $P7(q){if(A66!==null)return;if(A66=q,Uu6.length>0){let K=[...Uu6];Uu6.length=0,queueMicrotask(()=>{for(let _ of K)if(_.async)A66.logEventAsync(_.eventName,_.metadata);else A66.logEvent(_.eventName,_.metadata)})}}function d(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!1});return}A66.logEvent(q,K)}async function wP7(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!0});return}await A66.logEventAsync(q,K)}var Uu6,A66=null;var T8=L(()=>{Uu6=[]});function WD6({writeFn:q,flushIntervalMs:K=1000,maxBufferSize:_=100,maxBufferBytes:z=1/0,immediateMode:Y=!1}){let A=[],O=0,$=null,w=null;function j(){if($)clearTimeout($),$=null}function H(){if(w)q(w.join(\"\")),w=null;if(A.length===0)return;q(A.join(\"\")),A=[],O=0,j()}function J(){if(!$)$=setTimeout(H,K)}function M(){if(w){w.push(...A),A=[],O=0,j();return}let X=A;A=[],O=0,j(),w=X,setImmediate(()=>{let P=w;if(w=null,P)q(P.join(\"\"))})}return{write(X){if(Y){q(X);return}if(A.push(X),O+=X.length,J(),A.length>=_||O>=z)M()},flush:H,dispose(){H()}}}function gq(q){return Ot8.add(q),()=>Ot8.delete(q)}async function jP7(){await Promise.all(Array.from(Ot8).map((q)=>q()))}var Ot8;var o9=L(()=>{Ot8=new Set});function c25(q){let K=[],_=q.match(/^MCP server [\"']([^\"']+)[\"']/);if(_&&_[1])K.push(\"mcp\"),K.push(_[1].toLowerCase());else{let A=q.match(/^([^:[]+):/);if(A&&A[1])K.push(A[1].trim().toLowerCase())}let z=q.match(/^\\[([^\\]]+)]/);if(z&&z[1])K.push(z[1].trim().toLowerCase());if(q.toLowerCase().includes(\"1p event:\"))K.push(\"1p\");let Y=q.match(/:\\s*([^:]+?)(?:\\s+(?:type|mode|status|event))?:/);if(Y&&Y[1]){let A=Y[1].trim().toLowerCase();if(A.length<30&&!A.includes(\" \"))K.push(A)}return Array.from(new Set(K))}function l25(q,K){if(!K)return!0;if(q.length===0)return!1;if(K.isExclusive)return!q.some((_)=>K.exclude.includes(_));else return q.some((_)=>K.include.includes(_))}function JP7(q,K){if(!K)return!0;let _=c25(q);return l25(_,K)}var HP7;var MP7=L(()=>{h4();HP7=A1((q)=>{if(!q||q.trim()===\"\")return null;let K=q.split(\",\").map((A)=>A.trim()).filter(Boolean);if(K.length===0)return null;let _=K.some((A)=>A.startsWith(\"!\")),z=K.some((A)=>!A.startsWith(\"!\"));if(_&&z)return null;let Y=K.map((A)=>A.replace(/^!/,\"\").toLowerCase());return{include:_?[]:Y,exclude:_?Y:[],isExclusive:_}})});import{homedir as n25}from\"os\";import{join as XP7}from\"path\";function fD6(){return XP7(O7(),\"teams\")}function ZD6(q){let K=process.env.NODE_OPTIONS;if(!K)return!1;return K.split(/\\s+/).includes(q)}function Yn(q,K){if(q===void 0)return K;let _=parseInt(q,10);return Number.isNaN(_)?K:_}function B6(q){if(!q)return!1;if(typeof q===\"boolean\")return q;let K=q.toLowerCase().trim();return[\"1\",\"true\",\"yes\",\"on\"].includes(K)}function a9(q){if(q===void 0)return!1;if(typeof q===\"boolean\")return!q;if(!q)return!1;let K=q.toLowerCase().trim();return[\"0\",\"false\",\"no\",\"off\"].includes(K)}function D9(){return B6(process.env.CLAUDE_CODE_SIMPLE)||process.argv.includes(\"--bare\")}function PP7(q){let K={};if(q)for(let _ of q){let[z,...Y]=_.split(\"=\");if(!z||Y.length===0)throw Error(`Invalid environment variable format: ${_}, environment variables should be added as: -e KEY1=value1 -e KEY2=value2`);K[z]=Y.join(\"=\")}return K}function YS(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||\"us-east-1\"}function cz8(){return process.env.CLOUD_ML_REGION||\"us-east5\"}function DP7(){return B6(process.env.CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR)}function Af(){return!1}function AS(){return!1}function WP7(){return{namespace:void 0,cluster:void 0}}function lz8(q){if(q){let K=i25.find(([_])=>q.startsWith(_));if(K)return process.env[K[1]]||cz8()}return cz8()}var O7,i25;var B8=L(()=>{h4();O7=A1(()=>{return(process.env.CLAUDE_CONFIG_DIR??XP7(n25(),\".claude\")).normalize(\"NFC\")},()=>process.env.CLAUDE_CONFIG_DIR);i25=[[\"claude-haiku-4-5\",\"VERTEX_REGION_CLAUDE_HAIKU_4_5\"],[\"claude-3-5-haiku\",\"VERTEX_REGION_CLAUDE_3_5_HAIKU\"],[\"claude-3-5-sonnet\",\"VERTEX_REGION_CLAUDE_3_5_SONNET\"],[\"claude-3-7-sonnet\",\"VERTEX_REGION_CLAUDE_3_7_SONNET\"],[\"claude-opus-4-6\",\"VERTEX_REGION_CLAUDE_4_6_OPUS\"],[\"claude-opus-4-1\",\"VERTEX_REGION_CLAUDE_4_1_OPUS\"],[\"claude-opus-4\",\"VERTEX_REGION_CLAUDE_4_0_OPUS\"],[\"claude-sonnet-4-6\",\"VERTEX_REGION_CLAUDE_4_6_SONNET\"],[\"claude-sonnet-4-5\",\"VERTEX_REGION_CLAUDE_4_5_SONNET\"],[\"claude-sonnet-4\",\"VERTEX_REGION_CLAUDE_4_0_SONNET\"]]});function $4(q,K,_,z,Y){if(z===\"m\")throw TypeError(\"Private method is not writable\");if(z===\"a\"&&!Y)throw TypeError(\"Private accessor was defined without a setter\");if(typeof K===\"function\"?q!==K||!Y:!K.has(q))throw TypeError(\"Cannot write private member to an object whose class did not declare it\");return z===\"a\"?Y.call(q,_):Y?Y.value=_:K.set(q,_),_}function u1(q,K,_,z){if(_===\"a\"&&!z)throw TypeError(\"Private accessor was defined without a getter\");if(typeof K===\"function\"?q!==K||!z:!K.has(q))throw TypeError(\"Cannot read private member from an object whose class did not declare it\");return _===\"m\"?z:_===\"a\"?z.call(q):z?z.value:K.get(q)}var An=()=>{};var $t8=function(){let{crypto:q}=globalThis;if(q?.randomUUID)return $t8=q.randomUUID.bind(q),q.randomUUID();let K=new Uint8Array(1),_=q?()=>q.getRandomValues(K)[0]:()=>Math.random()*255&255;return\"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,(z)=>(+z^_()&15>>+z/4).toString(16))};function On(q){return typeof q===\"object\"&&q!==null&&((\"name\"in q)&&q.name===\"AbortError\"||(\"message\"in q)&&String(q.message).includes(\"FetchRequestCanceledException\"))}var Qu6=(q)=>{if(q instanceof Error)return q;if(typeof q===\"object\"&&q!==null){try{if(Object.prototype.toString.call(q)===\"[object Error]\"){let K=Error(q.message,q.cause?{cause:q.cause}:{});if(q.stack)K.stack=q.stack;if(q.cause&&!K.cause)K.cause=q.cause;if(q.name)K.name=q.name;return K}}catch{}try{return Error(JSON.stringify(q))}catch{}}return Error(q)};var vq,dq,c_,Of,yg,du6,R_6,cu6,S_6,lu6,nu6,iu6,ru6;var $W=L(()=>{vq=class vq extends Error{};dq=class dq extends vq{constructor(q,K,_,z,Y){super(`${dq.makeMessage(q,K,_)}`);this.status=q,this.headers=z,this.requestID=z?.get(\"request-id\"),this.error=K,this.type=Y??null}static makeMessage(q,K,_){let z=K?.message?typeof K.message===\"string\"?K.message:JSON.stringify(K.message):K?JSON.stringify(K):_;if(q&&z)return`${q} ${z}`;if(q)return`${q} status code (no body)`;if(z)return z;return\"(no status code or body)\"}static generate(q,K,_,z){if(!q||!z)return new Of({message:_,cause:Qu6(K)});let Y=K,A=Y?.error?.type;if(q===400)return new du6(q,Y,_,z,A);if(q===401)return new R_6(q,Y,_,z,A);if(q===403)return new cu6(q,Y,_,z,A);if(q===404)return new S_6(q,Y,_,z,A);if(q===409)return new lu6(q,Y,_,z,A);if(q===422)return new nu6(q,Y,_,z,A);if(q===429)return new iu6(q,Y,_,z,A);if(q>=500)return new ru6(q,Y,_,z,A);return new dq(q,Y,_,z,A)}};c_=class c_ extends dq{constructor({message:q}={}){super(void 0,void 0,q||\"Request was aborted.\",void 0)}};Of=class Of extends dq{constructor({message:q,cause:K}){super(void 0,void 0,q||\"Connection error.\",void 0);if(K)this.cause=K}};yg=class yg extends Of{constructor({message:q}={}){super({message:q??\"Request timed out.\"})}};du6=class du6 extends dq{};R_6=class R_6 extends dq{};cu6=class cu6 extends dq{};S_6=class S_6 extends dq{};lu6=class lu6 extends dq{};nu6=class nu6 extends dq{};iu6=class iu6 extends dq{};ru6=class ru6 extends dq{}});function nz8(q){if(typeof q!==\"object\")return{};return q??{}}function Ht8(q){if(!q)return!0;for(let K in q)return!1;return!0}function ZP7(q,K){return Object.prototype.hasOwnProperty.call(q,K)}var o25,fP7=(q)=>{return o25.test(q)},wt8=(q)=>(wt8=Array.isArray,wt8(q)),jt8,GP7=(q,K)=>{if(typeof K!==\"number\"||!Number.isInteger(K))throw new vq(`${q} must be an integer`);if(K<0)throw new vq(`${q} must be a positive integer`);return K},iz8=(q)=>{try{return JSON.parse(q)}catch(K){return}};var C_6=L(()=>{$W();o25=/^[a-z][a-z0-9+.-]*:/i,jt8=wt8});var vP7=(q)=>new Promise((K)=>setTimeout(K,q));var O66=\"0.81.0\";function a25(){if(typeof Deno<\"u\"&&Deno.build!=null)return\"deno\";if(typeof EdgeRuntime<\"u\")return\"edge\";if(Object.prototype.toString.call(typeof globalThis.process<\"u\"?globalThis.process:0)===\"[object process]\")return\"node\";return\"unknown\"}function t25(){if(typeof navigator>\"u\"||!navigator)return null;let q=[{key:\"edge\",pattern:/Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"chrome\",pattern:/Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"firefox\",pattern:/Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"safari\",pattern:/(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/}];for(let{key:K,pattern:_}of q){let z=_.exec(navigator.userAgent);if(z){let Y=z[1]||0,A=z[2]||0,O=z[3]||0;return{browser:K,version:`${Y}.${A}.${O}`}}}return null}var NP7=()=>{return typeof window<\"u\"&&typeof window.document<\"u\"&&typeof navigator<\"u\"},s25=()=>{let q=a25();if(q===\"deno\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(Deno.build.os),\"X-Stainless-Arch\":TP7(Deno.build.arch),\"X-Stainless-Runtime\":\"deno\",\"X-Stainless-Runtime-Version\":typeof Deno.version===\"string\"?Deno.version:Deno.version?.deno??\"unknown\"};if(typeof EdgeRuntime<\"u\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":`other:${EdgeRuntime}`,\"X-Stainless-Runtime\":\"edge\",\"X-Stainless-Runtime-Version\":globalThis.process.version};if(q===\"node\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(globalThis.process.platform??\"unknown\"),\"X-Stainless-Arch\":TP7(globalThis.process.arch??\"unknown\"),\"X-Stainless-Runtime\":\"node\",\"X-Stainless-Runtime-Version\":globalThis.process.version??\"unknown\"};let K=t25();if(K)return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":`browser:${K.browser}`,\"X-Stainless-Runtime-Version\":K.version};return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":\"unknown\",\"X-Stainless-Runtime-Version\":\"unknown\"}},TP7=(q)=>{if(q===\"x32\")return\"x32\";if(q===\"x86_64\"||q===\"x64\")return\"x64\";if(q===\"arm\")return\"arm\";if(q===\"aarch64\"||q===\"arm64\")return\"arm64\";if(q)return`other:${q}`;return\"unknown\"},VP7=(q)=>{if(q=q.toLowerCase(),q.includes(\"ios\"))return\"iOS\";if(q===\"android\")return\"Android\";if(q===\"darwin\")return\"MacOS\";if(q===\"win32\")return\"Windows\";if(q===\"freebsd\")return\"FreeBSD\";if(q===\"openbsd\")return\"OpenBSD\";if(q===\"linux\")return\"Linux\";if(q)return`Other:${q}`;return\"Unknown\"},kP7,yP7=()=>{return kP7??(kP7=s25())};var Jt8=()=>{};function EP7(){if(typeof fetch<\"u\")return fetch;throw Error(\"`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`\")}function Mt8(...q){let K=globalThis.ReadableStream;if(typeof K>\"u\")throw Error(\"`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`\");return new K(...q)}function rz8(q){let K=Symbol.asyncIterator in q?q[Symbol.asyncIterator]():q[Symbol.iterator]();return Mt8({start(){},async pull(_){let{done:z,value:Y}=await K.next();if(z)_.close();else _.enqueue(Y)},async cancel(){await K.return?.()}})}function ou6(q){if(q[Symbol.asyncIterator])return q;let K=q.getReader();return{async next(){try{let _=await K.read();if(_?.done)K.releaseLock();return _}catch(_){throw K.releaseLock(),_}},async return(){let _=K.cancel();return K.releaseLock(),await _,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function LP7(q){if(q===null||typeof q!==\"object\")return;if(q[Symbol.asyncIterator]){await q[Symbol.asyncIterator]().return?.();return}let K=q.getReader(),_=K.cancel();K.releaseLock(),await _}var hP7=({headers:q,body:K})=>{return{bodyHeaders:{\"content-type\":\"application/json\"},body:JSON.stringify(K)}};function RP7(q){return Object.entries(q).filter(([K,_])=>typeof _<\"u\").map(([K,_])=>{if(typeof _===\"string\"||typeof _===\"number\"||typeof _===\"boolean\")return`${encodeURIComponent(K)}=${encodeURIComponent(_)}`;if(_===null)return`${encodeURIComponent(K)}=`;throw new vq(`Cannot stringify type ${typeof _}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(\"&\")}var SP7=L(()=>{$W()});function xP7(q){let K=0;for(let Y of q)K+=Y.length;let _=new Uint8Array(K),z=0;for(let Y of q)_.set(Y,z),z+=Y.length;return _}function au6(q){let K;return(CP7??(K=new globalThis.TextEncoder,CP7=K.encode.bind(K)))(q)}function Xt8(q){let K;return(bP7??(K=new globalThis.TextDecoder,bP7=K.decode.bind(K)))(q)}var CP7,bP7;class $66{constructor(){wL.set(this,void 0),jL.set(this,void 0),$4(this,wL,new Uint8Array,\"f\"),$4(this,jL,null,\"f\")}decode(q){if(q==null)return[];let K=q instanceof ArrayBuffer?new Uint8Array(q):typeof q===\"string\"?au6(q):q;$4(this,wL,xP7([u1(this,wL,\"f\"),K]),\"f\");let _=[],z;while((z=Kj5(u1(this,wL,\"f\"),u1(this,jL,\"f\")))!=null){if(z.carriage&&u1(this,jL,\"f\")==null){$4(this,jL,z.index,\"f\");continue}if(u1(this,jL,\"f\")!=null&&(z.index!==u1(this,jL,\"f\")+1||z.carriage)){_.push(Xt8(u1(this,wL,\"f\").subarray(0,u1(this,jL,\"f\")-1))),$4(this,wL,u1(this,wL,\"f\").subarray(u1(this,jL,\"f\")),\"f\"),$4(this,jL,null,\"f\");continue}let Y=u1(this,jL,\"f\")!==null?z.preceding-1:z.preceding,A=Xt8(u1(this,wL,\"f\").subarray(0,Y));_.push(A),$4(this,wL,u1(this,wL,\"f\").subarray(z.index),\"f\"),$4(this,jL,null,\"f\")}return _}flush(){if(!u1(this,wL,\"f\").length)return[];return this.decode(`\n ^^^\n\nSyntaxError: Unexpected token '??='\n at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)\n at async link (internal/modules/esm/module_job.js:47:21)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\nzsh: command not found: sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ source ~/.zprofile\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status \n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-12T11:37:49+03:00\",\n \"uptime\": 3159.889531958,\n \"fps\": 0.13797950706518405,\n \"frames\": 436\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude\nfile:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8\nimport{createRequire as MA5}from\"node:module\";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q===\"object\";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,\"default\",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},\"__esModule\",{value:!0}),q&&typeof q===\"object\"||typeof q===\"function\"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for(\"Symbol.dispose\"),PA5=Symbol.asyncDispose||Symbol.for(\"Symbol.asyncDispose\"),lz=(q,K,_)=>{if(K!=null){if(typeof K!==\"object\"&&typeof K!==\"function\")throw TypeError('Object expected to be assigned to \"using\" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!==\"function\")throw TypeError(\"Object not disposable\");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError===\"function\"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name=\"SuppressedError\",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,\"An error was suppressed during disposal\"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global==\"object\"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self==\"object\"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function(\"return this\")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5=\"[object Null]\",gA5=\"[object Undefined]\",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K==\"object\"||K==\"function\")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5=\"[object AsyncFunction]\",dA5=\"[object Function]\",cA5=\"[object GeneratorFunction]\",lA5=\"[object Proxy]\",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ[\"__core-js_shared__\"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||\"\");return q?\"Symbol(src)_1.\"+q:\"\"}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+\"\"}catch(K){}}return\"\"}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\\\^$.*+?()[\\]{}|]/g,eA5=/^\\[object .+?Constructor\\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp(\"^\"+_O5.call(zO5).replace(tA5,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,\"Map\"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,\"create\"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5=\"__lodash_hash_undefined__\",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5=\"__lodash_hash_undefined__\",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K==\"string\"||K==\"number\"||K==\"symbol\"||K==\"boolean\"?q!==\"__proto__\":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K==\"string\"?\"string\":\"hash\"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5=\"__lodash_hash_undefined__\",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+\"\";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5=\"[object Boolean]\",cO5=\"[object Date]\",lO5=\"[object Error]\",nO5=\"[object Map]\",iO5=\"[object Number]\",rO5=\"[object RegExp]\",oO5=\"[object Set]\",aO5=\"[object String]\",sO5=\"[object Symbol]\",tO5=\"[object ArrayBuffer]\",eO5=\"[object DataView]\",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q==\"object\"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5=\"[object Arguments]\",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,\"callee\")&&!P$5.call(q,\"callee\")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8==\"object\"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8==\"object\"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_==\"number\"||_!=\"symbol\"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=9007199254740991,T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\\d*)$/;re=V$5});function N$5(q){return typeof q==\"number\"&&q>-1&&q%1==0&&q<=k$5}var k$5=9007199254740991,rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5=\"[object Arguments]\",E$5=\"[object Array]\",L$5=\"[object Boolean]\",h$5=\"[object Date]\",R$5=\"[object Error]\",S$5=\"[object Function]\",C$5=\"[object Map]\",b$5=\"[object Number]\",x$5=\"[object Object]\",I$5=\"[object RegExp]\",u$5=\"[object Set]\",m$5=\"[object String]\",B$5=\"[object WeakMap]\",p$5=\"[object ArrayBuffer]\",g$5=\"[object DataView]\",F$5=\"[object Float32Array]\",U$5=\"[object Float64Array]\",Q$5=\"[object Int8Array]\",d$5=\"[object Int16Array]\",c$5=\"[object Int32Array]\",l$5=\"[object Uint8Array]\",n$5=\"[object Uint8ClampedArray]\",i$5=\"[object Uint16Array]\",r$5=\"[object Uint32Array]\",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8==\"object\"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8==\"object\"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require(\"util\").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding(\"util\")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j==\"length\"||Y&&(j==\"offset\"||j==\"parent\")||A&&(j==\"buffer\"||j==\"byteLength\"||j==\"byteOffset\")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K==\"function\"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!=\"constructor\")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M==\"constructor\")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&((\"constructor\"in q)&&(\"constructor\"in K))&&!(typeof v==\"function\"&&v instanceof v&&typeof V==\"function\"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,\"DataView\"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,\"Promise\"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,\"Set\"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,\"WeakMap\"),Xz8=vw5});var sM7=\"[object Map]\",Tw5=\"[object Object]\",tM7=\"[object Promise]\",eM7=\"[object Set]\",qX7=\"[object WeakMap]\",KX7=\"[object DataView]\",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();Q_8();oM7();Ta8();aM7();M_6();Oa8();Vw5=rl(Jz8),kw5=rl(ne),Nw5=rl(Mz8),yw5=rl(oe),Ew5=rl(Xz8),D_6=YL;if(Jz8&&D_6(new Jz8(new ArrayBuffer(1)))!=KX7||ne&&D_6(new ne)!=sM7||Mz8&&D_6(Mz8.resolve())!=tM7||oe&&D_6(new oe)!=eM7||Xz8&&D_6(new Xz8)!=qX7)D_6=function(q){var K=YL(q),_=K==Tw5?q.constructor:void 0,z=_?rl(_):\"\";if(z)switch(z){case Vw5:return KX7;case kw5:return sM7;case Nw5:return tM7;case yw5:return eM7;case Ew5:return qX7}return K};sl=D_6});function Rw5(q,K,_,z,Y,A){var O=DO(q),$=DO(K),w=O?zX7:sl(q),j=$?zX7:sl(K);w=w==_X7?Pz8:w,j=j==_X7?Pz8:j;var H=w==Pz8,J=j==Pz8,M=w==j;if(M&&fg(q)){if(!fg(K))return!1;O=!0,H=!1}if(M&&!H)return A||(A=new Dg),O||aP6(q)?i_8(q,K,_,z,Y,A):EM7(q,K,w,_,z,Y,A);if(!(_&Lw5)){var X=H&&YX7.call(q,\"__wrapped__\"),P=J&&YX7.call(K,\"__wrapped__\");if(X||P){var D=X?q.value():q,W=P?K.value():K;return A||(A=new Dg),Y(D,W,_,z,A)}}if(!M)return!1;return A||(A=new Dg),nM7(q,K,_,z,Y,A)}var Lw5=1,_X7=\"[object Arguments]\",zX7=\"[object Array]\",Pz8=\"[object Object]\",hw5,YX7,AX7;var OX7=L(()=>{Au6();Ha8();LM7();iM7();Ju6();RT();$u6();$z8();hw5=Object.prototype,YX7=hw5.hasOwnProperty;AX7=Rw5});function $X7(q,K,_,z,Y){if(q===K)return!0;if(q==null||K==null||!QP(q)&&!QP(K))return q!==q&&K!==K;return AX7(q,K,_,z,$X7,Y)}var eP6;var Dz8=L(()=>{OX7();Wg();eP6=$X7});function bw5(q,K,_,z){var Y=_.length,A=Y,O=!z;if(q==null)return!A;q=Object(q);while(Y--){var $=_[Y];if(O&&$[2]?$[1]!==q[$[0]]:!($[0]in q))return!1}while(++Y<A){$=_[Y];var w=$[0],j=q[w],H=$[1];if(O&&$[2]){if(j===void 0&&!(w in q))return!1}else{var J=new Dg;if(z)var M=z(j,H,w,q,K,J);if(!(M===void 0?eP6(H,j,Sw5|Cw5,z,J):M))return!1}}return!0}var Sw5=1,Cw5=2,wX7;var jX7=L(()=>{Au6();Dz8();wX7=bw5});function xw5(q){return q===q&&!PO(q)}var Wz8;var Va8=L(()=>{hT();Wz8=xw5});function Iw5(q){var K=tR(q),_=K.length;while(_--){var z=K[_],Y=q[z];K[_]=[z,Y,Wz8(Y)]}return K}var HX7;var JX7=L(()=>{Va8();P_6();HX7=Iw5});function uw5(q,K){return function(_){if(_==null)return!1;return _[q]===K&&(K!==void 0||(q in Object(_)))}}var fz8;var ka8=L(()=>{fz8=uw5});function mw5(q){var K=HX7(q);if(K.length==1&&K[0][2])return fz8(K[0][0],K[0][1]);return function(_){return _===q||wX7(_,q,K)}}var MX7;var XX7=L(()=>{jX7();JX7();ka8();MX7=mw5});function pw5(q){return typeof q==\"symbol\"||QP(q)&&YL(q)==Bw5}var Bw5=\"[object Symbol]\",ae;var Mu6=L(()=>{M_6();Wg();ae=pw5});function Uw5(q,K){if(DO(q))return!1;var _=typeof q;if(_==\"number\"||_==\"symbol\"||_==\"boolean\"||q==null||ae(q))return!0;return Fw5.test(q)||!gw5.test(q)||K!=null&&q in Object(K)}var gw5,Fw5,qD6;var Zz8=L(()=>{RT();Mu6();gw5=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Fw5=/^\\w*$/;qD6=Uw5});function Na8(q,K){if(typeof q!=\"function\"||K!=null&&typeof K!=\"function\")throw TypeError(Qw5);var _=function(){var z=arguments,Y=K?K.apply(this,z):z[0],A=_.cache;if(A.has(Y))return A.get(Y);var O=q.apply(this,z);return _.cache=A.set(Y,O)||A,O};return _.cache=new(Na8.Cache||X_6),_}var Qw5=\"Expected a function\",A1;var h4=L(()=>{d_8();Na8.Cache=X_6;A1=Na8});function cw5(q){var K=A1(q,function(z){if(_.size===dw5)_.clear();return z}),_=K.cache;return K}var dw5=500,PX7;var DX7=L(()=>{h4();PX7=cw5});var lw5,nw5,iw5,WX7;var fX7=L(()=>{DX7();lw5=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,nw5=/\\\\(\\\\)?/g,iw5=PX7(function(q){var K=[];if(q.charCodeAt(0)===46)K.push(\"\");return q.replace(lw5,function(_,z,Y,A){K.push(Y?A.replace(nw5,\"$1\"):z||_)}),K}),WX7=iw5});function rw5(q,K){var _=-1,z=q==null?0:q.length,Y=Array(z);while(++_<z)Y[_]=K(q[_],_,q);return Y}var se;var Xu6=L(()=>{se=rw5});function vX7(q){if(typeof q==\"string\")return q;if(DO(q))return se(q,vX7)+\"\";if(ae(q))return GX7?GX7.call(q):\"\";var K=q+\"\";return K==\"0\"&&1/q==-ow5?\"-0\":K}var ow5=1/0,ZX7,GX7,TX7;var VX7=L(()=>{J_6();Xu6();RT();Mu6();ZX7=YW?YW.prototype:void 0,GX7=ZX7?ZX7.toString:void 0;TX7=vX7});function aw5(q){return q==null?\"\":TX7(q)}var KD6;var Gz8=L(()=>{VX7();KD6=aw5});function sw5(q,K){if(DO(q))return q;return qD6(q,K)?[q]:WX7(KD6(q))}var eR;var W_6=L(()=>{RT();Zz8();fX7();Gz8();eR=sw5});function ew5(q){if(typeof q==\"string\"||ae(q))return q;var K=q+\"\";return K==\"0\"&&1/q==-tw5?\"-0\":K}var tw5=1/0,qS;var f_6=L(()=>{Mu6();qS=ew5});function q25(q,K){K=eR(K,q);var _=0,z=K.length;while(q!=null&&_<z)q=q[qS(K[_++])];return _&&_==z?q:void 0}var te;var Pu6=L(()=>{W_6();f_6();te=q25});function K25(q,K,_){var z=q==null?void 0:te(q,K);return z===void 0?_:z}var kX7;var NX7=L(()=>{Pu6();kX7=K25});function _25(q,K){return q!=null&&K in Object(q)}var yX7;var EX7=L(()=>{yX7=_25});function z25(q,K,_){K=eR(K,q);var z=-1,Y=K.length,A=!1;while(++z<Y){var O=qS(K[z]);if(!(A=q!=null&&_(q,O)))break;q=q[O]}if(A||++z!=Y)return A;return Y=q==null?0:q.length,!!Y&&rP6(Y)&&re(O,Y)&&(DO(q)||al(q))}var LX7;var hX7=L(()=>{W_6();Ou6();RT();wu6();_z8();f_6();LX7=z25});function Y25(q,K){return q!=null&&LX7(q,K,yX7)}var RX7;var SX7=L(()=>{EX7();hX7();RX7=Y25});function $25(q,K){if(qD6(q)&&Wz8(K))return fz8(qS(q),K);return function(_){var z=kX7(_,q);return z===void 0&&z===K?RX7(_,q):eP6(K,z,A25|O25)}}var A25=1,O25=2,CX7;var bX7=L(()=>{Dz8();NX7();SX7();Zz8();Va8();ka8();f_6();CX7=$25});function w25(q){return q}var _D6;var vz8=L(()=>{_D6=w25});function j25(q){return function(K){return K==null?void 0:K[q]}}var xX7;var IX7=L(()=>{xX7=j25});function H25(q){return function(K){return te(K,q)}}var uX7;var mX7=L(()=>{Pu6();uX7=H25});function J25(q){return qD6(q)?xX7(qS(q)):uX7(q)}var BX7;var pX7=L(()=>{IX7();mX7();Zz8();f_6();BX7=J25});function M25(q){if(typeof q==\"function\")return q;if(q==null)return _D6;if(typeof q==\"object\")return DO(q)?CX7(q[0],q[1]):MX7(q);return BX7(q)}var rk;var ee=L(()=>{XX7();bX7();vz8();RT();pX7();rk=M25});function X25(q,K){var _,z=-1,Y=q.length;while(++z<Y){var A=K(q[z]);if(A!==void 0)_=_===void 0?A:_+A}return _}var gX7;var FX7=L(()=>{gX7=X25});function P25(q,K){return q&&q.length?gX7(q,rk(K,2)):0}var zD6;var UX7=L(()=>{ee();FX7();zD6=P25});import{randomUUID as Du6}from\"crypto\";var ya8=()=>{};function QX7(){return Ea8}function dX7(q){Ea8=q}function cX7(q){return Tz8.has(q)?Tz8.get(q):void 0}function lX7(q,K){Tz8.set(q,K)}function nX7(q){return La8.get(q)}function iX7(q,K){La8.set(q,K)}function AW(){Ea8=null,Tz8.clear(),La8.clear()}function Vz8(){return ha8}function rX7(q){ha8=q}function oX7(){ha8=void 0}var Ea8=null,Tz8,La8,ha8;var tl=L(()=>{Tz8=new Map;La8=new Map});function E9(){let q=new Set;return{subscribe(K){return q.add(K),()=>{q.delete(K)}},emit(...K){for(let _ of q)_(...K)},clear(){q.clear()}}}var DD6={};f8(DD6,{waitForScrollIdle:()=>Vu6,updateLastInteractionTime:()=>G_6,switchSession:()=>Yf,snapshotOutputTokensForTurn:()=>h25,setUserMsgOptIn:()=>Vg,setUseCoworkPlugins:()=>OL,setTracerProvider:()=>xz8,setThinkingClearLatched:()=>Yt8,setTeleportedSessionInfo:()=>Bu6,setSystemPromptSectionCacheEntry:()=>is8,setStrictToolResultPairing:()=>I25,setStatsStore:()=>ca8,setSessionTrustAccepted:()=>Iu6,setSessionSource:()=>fs8,setSessionPersistenceDisabled:()=>ms8,setSessionIngressToken:()=>y_6,setSessionBypassPermissionsMode:()=>Is8,setSdkBetas:()=>Ys8,setSdkAgentProgressSummariesEnabled:()=>Ps8,setScheduledTasksEnabled:()=>bu6,setQuestionPreviewFormat:()=>uz8,setPromptId:()=>Fu6,setPromptCache1hAllowlist:()=>ss8,setProjectRoot:()=>fu6,setOriginalCwd:()=>KS,setOauthTokenFromFd:()=>Vs8,setNeedsPlanModeExitAttachment:()=>gI,setNeedsAutoModeExitAttachment:()=>CG,setModelStrings:()=>Nu6,setMeterProvider:()=>bz8,setMeter:()=>As8,setMemoryToggledOff:()=>Ws8,setMainThreadAgentType:()=>_n,setMainLoopModelOverride:()=>dP,setLspRecommendationShownThisSession:()=>Us8,setLoopChainStartedAt:()=>g25,setLoggerProvider:()=>Sz8,setLastMainRequestId:()=>ea8,setLastEmittedDate:()=>PD6,setLastClassifierRequests:()=>hu6,setLastApiCompletionTimestamp:()=>Tu6,setLastAPIRequestMessages:()=>Ls8,setLastAPIRequest:()=>ys8,setKairosActive:()=>x25,setIsRemoteMode:()=>ls8,setIsInteractive:()=>Ms8,setInlinePlugins:()=>bs8,setInitialMainLoopModel:()=>zs8,setInitJsonSchema:()=>Qs8,setHasUnknownModelCost:()=>hz8,setHasExitedPlanMode:()=>$L,setHasDevChannels:()=>Qz8,setFlagSettingsPath:()=>Zs8,setFlagSettingsInline:()=>Gs8,setFastModeHeaderLatched:()=>Kt8,setEventLogger:()=>Cz8,setDirectConnectServerUrl:()=>W25,setCwdState:()=>Ia8,setCostStateForRestore:()=>ku6,setClientType:()=>Xs8,setChromeFlagOverride:()=>xs8,setCachedClaudeMdContent:()=>hs8,setCacheEditingHeaderLatched:()=>d25,setApiKeyFromFd:()=>Ns8,setAllowedSettingSources:()=>Cs8,setAllowedChannels:()=>zn,setAfkModeHeaderLatched:()=>es8,setAdditionalDirectoriesForClaudeMd:()=>pu6,setActiveRoutine:()=>Z25,resetTurnToolDuration:()=>Ua8,resetTurnHookDuration:()=>Fa8,resetTurnClassifierDuration:()=>da8,resetTotalDurationStateAndCost_FOR_TESTS_ONLY:()=>G25,resetStateForTests:()=>_P7,resetSdkInitState:()=>YP7,resetModelStringsForTestingOnly:()=>C25,resetCostState:()=>OD6,removeSessionCronTasks:()=>xu6,registerHookCallbacks:()=>z66,regenerateSessionId:()=>Sa8,preferThirdPartyAuthentication:()=>Ru6,onSessionSwitch:()=>xa8,onInteraction:()=>ra8,needsPlanModeExitAttachment:()=>Bs8,needsAutoModeExitAttachment:()=>ps8,markScrollActivity:()=>Ks8,markPostCompaction:()=>K66,markFirstTeleportMessageLogged:()=>Fz8,isSessionPersistenceDisabled:()=>ok,incrementBudgetContinuationCount:()=>S25,hasUnknownModelCost:()=>ta8,hasShownLspRecommendationThisSession:()=>Fs8,hasExitedPlanModeInSession:()=>uu6,handlePlanModeTransition:()=>Kn,handleAutoModeTransition:()=>gs8,getUserMsgOptIn:()=>AL,getUseCoworkPlugins:()=>Cu6,getUsageForModel:()=>_s8,getTurnToolDurationMs:()=>V25,getTurnToolCount:()=>k25,getTurnOutputTokens:()=>E25,getTurnHookDurationMs:()=>v25,getTurnHookCount:()=>T25,getTurnClassifierDurationMs:()=>N25,getTurnClassifierCount:()=>y25,getTracerProvider:()=>N_6,getTotalWebSearchRequests:()=>oa8,getTotalToolDuration:()=>ga8,getTotalOutputTokens:()=>el,getTotalLinesRemoved:()=>T_6,getTotalLinesAdded:()=>v_6,getTotalInputTokens:()=>V_6,getTotalDuration:()=>YD6,getTotalCostUSD:()=>XM,getTotalCacheReadInputTokens:()=>Zu6,getTotalCacheCreationInputTokens:()=>Gu6,getTotalAPIDurationWithoutRetries:()=>pa8,getTotalAPIDuration:()=>RG,getTokenCounter:()=>wD6,getThinkingClearLatched:()=>zt8,getTeleportedSessionInfo:()=>gz8,getSystemPromptSectionCache:()=>ns8,getStrictToolResultPairing:()=>Ds8,getStatsStore:()=>q66,getSlowOperations:()=>OP7,getSessionTrustAccepted:()=>MD6,getSessionSource:()=>u25,getSessionProjectDir:()=>Z_6,getSessionIngressToken:()=>vs8,getSessionId:()=>N8,getSessionCronTasks:()=>L_6,getSessionCreatedTeams:()=>mu6,getSessionCounter:()=>Os8,getSessionBypassPermissionsMode:()=>E_6,getSdkBetas:()=>OW,getSdkAgentProgressSummariesEnabled:()=>vg,getScheduledTasksEnabled:()=>JD6,getRegisteredHooks:()=>zS,getQuestionPreviewFormat:()=>Iz8,getPromptId:()=>gu6,getPromptCache1hAllowlist:()=>as8,getProjectRoot:()=>wz,getPrCounter:()=>yu6,getPlanSlugCache:()=>h_6,getParentSessionId:()=>Ca8,getOriginalCwd:()=>A7,getOauthTokenFromFd:()=>Ts8,getModelUsage:()=>ST,getModelStrings:()=>$D6,getMeterProvider:()=>Js8,getMeter:()=>b25,getMemoryToggledOff:()=>Tg,getMainThreadAgentType:()=>Ng,getMainLoopModelOverride:()=>pI,getLoopChainStartedAt:()=>p25,getLoggerProvider:()=>Lu6,getLocCounter:()=>Rz8,getLastMainRequestId:()=>vu6,getLastInteractionTime:()=>_S,getLastEmittedDate:()=>os8,getLastClassifierRequests:()=>zP7,getLastApiCompletionTimestamp:()=>qn,getLastAPIRequestMessages:()=>m25,getLastAPIRequest:()=>Es8,getKairosActive:()=>SG,getIsScrollDraining:()=>k_6,getIsRemoteMode:()=>cK,getIsNonInteractiveSession:()=>d7,getIsInteractive:()=>CT,getInvokedSkillsForAgent:()=>ds8,getInvokedSkills:()=>Q25,getInlinePlugins:()=>kg,getInitialMainLoopModel:()=>AD6,getInitJsonSchema:()=>Bz8,getHasDevChannels:()=>Uz8,getFlagSettingsPath:()=>_66,getFlagSettingsInline:()=>HD6,getFastModeHeaderLatched:()=>qt8,getEventLogger:()=>Hs8,getDirectConnectServerUrl:()=>ua8,getCwdState:()=>BI,getCurrentTurnTokenBudget:()=>L25,getCostCounter:()=>ws8,getCommitCounter:()=>$s8,getCodeEditToolDecisionCounter:()=>Eu6,getClientType:()=>jD6,getChromeFlagOverride:()=>Su6,getCachedClaudeMdContent:()=>Rs8,getCacheEditingHeaderLatched:()=>_t8,getBudgetContinuationCount:()=>R25,getApiKeyFromFd:()=>ks8,getAllowedSettingSources:()=>Ss8,getAllowedChannels:()=>TJ,getAgentColorMap:()=>mz8,getAfkModeHeaderLatched:()=>ts8,getAdditionalDirectoriesForClaudeMd:()=>bG,getActiveTimeCounter:()=>js8,getActiveRoutine:()=>f25,flushInteractionTime:()=>na8,deleteLoopChainStartedAt:()=>F25,consumePostCompaction:()=>qs8,clearSystemPromptSectionState:()=>rs8,clearRegisteredPluginHooks:()=>pz8,clearRegisteredHooks:()=>U25,clearInvokedSkillsForAgent:()=>Y66,clearInvokedSkills:()=>cs8,clearBetaHeaderLatches:()=>At8,addToTurnHookDuration:()=>yz8,addToTurnClassifierDuration:()=>Qa8,addToTotalLinesChanged:()=>Ez8,addToTotalDurationState:()=>ma8,addToTotalCostState:()=>Ba8,addToToolDuration:()=>Nz8,addToInMemoryErrorLog:()=>B25,addSlowOperation:()=>AP7,addSessionCronTask:()=>us8,addInvokedSkill:()=>XD6});import{realpathSync as aX7}from\"fs\";import{cwd as D25}from\"process\";function eX7(){let q=\"\";if(typeof process<\"u\"&&typeof process.cwd===\"function\"&&typeof aX7===\"function\"){let _=D25();try{q=aX7(_).normalize(\"NFC\")}catch{q=_.normalize(\"NFC\")}}return{originalCwd:q,projectRoot:q,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,turnHookDurationMs:0,turnToolDurationMs:0,turnClassifierDurationMs:0,turnToolCount:0,turnHookCount:0,turnClassifierCount:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:q,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,kairosActive:!1,strictToolResultPairing:!1,memoryToggledOff:!1,sdkAgentProgressSummariesEnabled:!1,userMsgOptIn:!1,clientType:\"cli\",sessionSource:void 0,questionPreviewFormat:void 0,sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,flagSettingsInline:null,allowedSettingSources:[\"userSettings\",\"projectSettings\",\"localSettings\",\"flagSettings\",\"policySettings\"],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,statsStore:null,sessionId:Du6(),parentSessionId:void 0,loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,lastAPIRequest:null,lastAPIRequestMessages:null,lastClassifierRequests:null,cachedClaudeMdContent:null,inMemoryErrorLog:[],inlinePlugins:[],chromeFlagOverride:void 0,useCoworkPlugins:!1,sessionBypassPermissionsMode:!1,scheduledTasksEnabled:!1,sessionCronTasks:[],loopChainStartedAt:Object.create(null),sessionCreatedTeams:new Set,sessionTrustAccepted:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,needsAutoModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map,slowOperations:[],sdkBetas:void 0,mainThreadAgentType:void 0,isRemoteMode:!1,...!1,directConnectServerUrl:void 0,activeRoutine:void 0,systemPromptSectionCache:new Map,lastEmittedDate:null,additionalDirectoriesForClaudeMd:[],allowedChannels:[],hasDevChannels:!1,sessionProjectDir:null,promptCache1hAllowlist:null,afkModeHeaderLatched:null,fastModeHeaderLatched:null,cacheEditingHeaderLatched:null,thinkingClearLatched:null,promptId:null,lastMainRequestId:void 0,lastApiCompletionTimestamp:null,pendingPostCompaction:!1}}function N8(){return G8.sessionId}function Sa8(q={}){if(q.setCurrentAsParent)G8.parentSessionId=G8.sessionId;return G8.planSlugCache.delete(G8.sessionId),G8.sessionId=Du6(),G8.sessionProjectDir=null,G8.sessionId}function Ca8(){return G8.parentSessionId}function Yf(q,K=null){if(G8.sessionId!==q)G8.planSlugCache.delete(G8.sessionId);G8.sessionId=q,G8.sessionProjectDir=K,ba8.emit(q)}function Z_6(){return G8.sessionProjectDir}function A7(){return G8.originalCwd}function wz(){return G8.projectRoot}function KS(q){G8.originalCwd=q.normalize(\"NFC\")}function fu6(q){G8.projectRoot=q.normalize(\"NFC\")}function BI(){return G8.cwd}function Ia8(q){G8.cwd=q.normalize(\"NFC\")}function ua8(){return G8.directConnectServerUrl}function W25(q){G8.directConnectServerUrl=q}function f25(){return G8.activeRoutine}function Z25(q){G8.activeRoutine=q}function ma8(q,K){G8.totalAPIDuration+=q,G8.totalAPIDurationWithoutRetries+=K}function G25(){G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalCostUSD=0}function Ba8(q,K,_){G8.modelUsage[_]=K,G8.totalCostUSD+=q}function XM(){return G8.totalCostUSD}function RG(){return G8.totalAPIDuration}function YD6(){return Date.now()-G8.startTime}function pa8(){return G8.totalAPIDurationWithoutRetries}function ga8(){return G8.totalToolDuration}function Nz8(q){G8.totalToolDuration+=q,G8.turnToolDurationMs+=q,G8.turnToolCount++}function v25(){return G8.turnHookDurationMs}function yz8(q){G8.turnHookDurationMs+=q,G8.turnHookCount++}function Fa8(){G8.turnHookDurationMs=0,G8.turnHookCount=0}function T25(){return G8.turnHookCount}function V25(){return G8.turnToolDurationMs}function Ua8(){G8.turnToolDurationMs=0,G8.turnToolCount=0}function k25(){return G8.turnToolCount}function N25(){return G8.turnClassifierDurationMs}function Qa8(q){G8.turnClassifierDurationMs+=q,G8.turnClassifierCount++}function da8(){G8.turnClassifierDurationMs=0,G8.turnClassifierCount=0}function y25(){return G8.turnClassifierCount}function q66(){return G8.statsStore}function ca8(q){G8.statsStore=q}function G_6(q){if(q)qP7();else la8=!0}function na8(){if(la8)qP7()}function qP7(){G8.lastInteractionTime=Date.now(),la8=!1,ia8.emit()}function Ez8(q,K){G8.totalLinesAdded+=q,G8.totalLinesRemoved+=K}function v_6(){return G8.totalLinesAdded}function T_6(){return G8.totalLinesRemoved}function V_6(){return zD6(Object.values(G8.modelUsage),\"inputTokens\")}function el(){return zD6(Object.values(G8.modelUsage),\"outputTokens\")}function Zu6(){return zD6(Object.values(G8.modelUsage),\"cacheReadInputTokens\")}function Gu6(){return zD6(Object.values(G8.modelUsage),\"cacheCreationInputTokens\")}function oa8(){return zD6(Object.values(G8.modelUsage),\"webSearchRequests\")}function E25(){return el()-aa8}function L25(){return sa8}function h25(q){aa8=el(),sa8=q,Lz8=0}function R25(){return Lz8}function S25(){Lz8++}function hz8(){G8.hasUnknownModelCost=!0}function ta8(){return G8.hasUnknownModelCost}function vu6(){return G8.lastMainRequestId}function ea8(q){G8.lastMainRequestId=q}function qn(){return G8.lastApiCompletionTimestamp}function Tu6(q){G8.lastApiCompletionTimestamp=q}function K66(){G8.pendingPostCompaction=!0}function qs8(){let q=G8.pendingPostCompaction;return G8.pendingPostCompaction=!1,q}function _S(){return G8.lastInteractionTime}function Ks8(){if(kz8=!0,Wu6)clearTimeout(Wu6);Wu6=setTimeout(()=>{kz8=!1,Wu6=void 0},KP7),Wu6.unref?.()}function k_6(){return kz8}async function Vu6(){while(kz8)await new Promise((q)=>setTimeout(q,KP7).unref?.())}function ST(){return G8.modelUsage}function _s8(q){return G8.modelUsage[q]}function pI(){return G8.mainLoopModelOverride}function AD6(){return G8.initialMainLoopModel}function dP(q){G8.mainLoopModelOverride=q}function zs8(q){G8.initialMainLoopModel=q}function OW(){return G8.sdkBetas}function Ys8(q){G8.sdkBetas=q}function OD6(){G8.totalCostUSD=0,G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalToolDuration=0,G8.startTime=Date.now(),G8.totalLinesAdded=0,G8.totalLinesRemoved=0,G8.hasUnknownModelCost=!1,G8.modelUsage={},G8.promptId=null}function ku6({totalCostUSD:q,totalAPIDuration:K,totalAPIDurationWithoutRetries:_,totalToolDuration:z,totalLinesAdded:Y,totalLinesRemoved:A,lastDuration:O,modelUsage:$}){if(G8.totalCostUSD=q,G8.totalAPIDuration=K,G8.totalAPIDurationWithoutRetries=_,G8.totalToolDuration=z,G8.totalLinesAdded=Y,G8.totalLinesRemoved=A,$)G8.modelUsage=$;if(O)G8.startTime=Date.now()-O}function _P7(){throw Error(\"resetStateForTests can only be called in tests\")}function $D6(){return G8.modelStrings}function Nu6(q){G8.modelStrings=q}function C25(){G8.modelStrings=null}function As8(q,K){G8.meter=q,G8.sessionCounter=K(\"claude_code.session.count\",{description:\"Count of CLI sessions started\"}),G8.locCounter=K(\"claude_code.lines_of_code.count\",{description:\"Count of lines of code modified, with the 'type' attribute indicating whether lines were added or removed\"}),G8.prCounter=K(\"claude_code.pull_request.count\",{description:\"Number of pull requests created\"}),G8.commitCounter=K(\"claude_code.commit.count\",{description:\"Number of git commits created\"}),G8.costCounter=K(\"claude_code.cost.usage\",{description:\"Cost of the Claude Code session\",unit:\"USD\"}),G8.tokenCounter=K(\"claude_code.token.usage\",{description:\"Number of tokens used\",unit:\"tokens\"}),G8.codeEditToolDecisionCounter=K(\"claude_code.code_edit_tool.decision\",{description:\"Count of code editing tool permission decisions (accept/reject) for Edit, Write, and NotebookEdit tools\"}),G8.activeTimeCounter=K(\"claude_code.active_time.total\",{description:\"Total active time in seconds\",unit:\"s\"})}function b25(){return G8.meter}function Os8(){return G8.sessionCounter}function Rz8(){return G8.locCounter}function yu6(){return G8.prCounter}function $s8(){return G8.commitCounter}function ws8(){return G8.costCounter}function wD6(){return G8.tokenCounter}function Eu6(){return G8.codeEditToolDecisionCounter}function js8(){return G8.activeTimeCounter}function Lu6(){return G8.loggerProvider}function Sz8(q){G8.loggerProvider=q}function Hs8(){return G8.eventLogger}function Cz8(q){G8.eventLogger=q}function Js8(){return G8.meterProvider}function bz8(q){G8.meterProvider=q}function N_6(){return G8.tracerProvider}function xz8(q){G8.tracerProvider=q}function d7(){return!G8.isInteractive}function CT(){return G8.isInteractive}function Ms8(q){G8.isInteractive=q}function jD6(){return G8.clientType}function Xs8(q){G8.clientType=q}function vg(){return G8.sdkAgentProgressSummariesEnabled}function Ps8(q){G8.sdkAgentProgressSummariesEnabled=q}function SG(){return G8.kairosActive}function x25(q){G8.kairosActive=q}function Ds8(){return G8.strictToolResultPairing}function I25(q){G8.strictToolResultPairing=q}function Tg(){return G8.memoryToggledOff}function Ws8(q){G8.memoryToggledOff=q}function AL(){return G8.userMsgOptIn}function Vg(q){G8.userMsgOptIn=q}function u25(){return G8.sessionSource}function fs8(q){G8.sessionSource=q}function Iz8(){return G8.questionPreviewFormat}function uz8(q){G8.questionPreviewFormat=q}function mz8(){return G8.agentColorMap}function _66(){return G8.flagSettingsPath}function Zs8(q){G8.flagSettingsPath=q}function HD6(){return G8.flagSettingsInline}function Gs8(q){G8.flagSettingsInline=q}function vs8(){return G8.sessionIngressToken}function y_6(q){G8.sessionIngressToken=q}function Ts8(){return G8.oauthTokenFromFd}function Vs8(q){G8.oauthTokenFromFd=q}function ks8(){return G8.apiKeyFromFd}function Ns8(q){G8.apiKeyFromFd=q}function ys8(q){G8.lastAPIRequest=q}function Es8(){return G8.lastAPIRequest}function Ls8(q){G8.lastAPIRequestMessages=q}function m25(){return G8.lastAPIRequestMessages}function hu6(q){G8.lastClassifierRequests=q}function zP7(){return G8.lastClassifierRequests}function hs8(q){G8.cachedClaudeMdContent=q}function Rs8(){return G8.cachedClaudeMdContent}function B25(q){if(G8.inMemoryErrorLog.length>=100)G8.inMemoryErrorLog.shift();G8.inMemoryErrorLog.push(q)}function Ss8(){return G8.allowedSettingSources}function Cs8(q){G8.allowedSettingSources=q}function Ru6(){return d7()&&G8.clientType!==\"claude-vscode\"}function bs8(q){G8.inlinePlugins=q}function kg(){return G8.inlinePlugins}function xs8(q){G8.chromeFlagOverride=q}function Su6(){return G8.chromeFlagOverride}function OL(q){G8.useCoworkPlugins=q,AW()}function Cu6(){return G8.useCoworkPlugins}function Is8(q){G8.sessionBypassPermissionsMode=q}function E_6(){return G8.sessionBypassPermissionsMode}function bu6(q){G8.scheduledTasksEnabled=q}function JD6(){return G8.scheduledTasksEnabled}function L_6(){return G8.sessionCronTasks}function us8(q){G8.sessionCronTasks.push(q)}function p25(q){return G8.loopChainStartedAt[q]}function g25(q,K){G8.loopChainStartedAt[q]=K}function F25(q){delete G8.loopChainStartedAt[q]}function xu6(q){if(q.length===0)return 0;let K=new Set(q),_=G8.sessionCronTasks.filter((Y)=>!K.has(Y.id)),z=G8.sessionCronTasks.length-_.length;if(z===0)return 0;return G8.sessionCronTasks=_,z}function Iu6(q){G8.sessionTrustAccepted=q}function MD6(){return G8.sessionTrustAccepted}function ms8(q){G8.sessionPersistenceDisabled=q}function ok(){return G8.sessionPersistenceDisabled}function uu6(){return G8.hasExitedPlanMode}function $L(q){G8.hasExitedPlanMode=q}function Bs8(){return G8.needsPlanModeExitAttachment}function gI(q){G8.needsPlanModeExitAttachment=q}function Kn(q,K){if(K===\"plan\"&&q!==\"plan\")G8.needsPlanModeExitAttachment=!1;if(q===\"plan\"&&K!==\"plan\")G8.needsPlanModeExitAttachment=!0}function ps8(){return G8.needsAutoModeExitAttachment}function CG(q){G8.needsAutoModeExitAttachment=q}function gs8(q,K){if(q===\"auto\"&&K===\"plan\"||q===\"plan\"&&K===\"auto\")return;let _=q===\"auto\",z=K===\"auto\";if(z&&!_)G8.needsAutoModeExitAttachment=!1;if(_&&!z)G8.needsAutoModeExitAttachment=!0}function Fs8(){return G8.lspRecommendationShownThisSession}function Us8(q){G8.lspRecommendationShownThisSession=q}function Qs8(q){G8.initJsonSchema=q}function Bz8(){return G8.initJsonSchema}function z66(q){if(!G8.registeredHooks)G8.registeredHooks={};for(let[K,_]of Object.entries(q)){let z=K;if(!G8.registeredHooks[z])G8.registeredHooks[z]=[];G8.registeredHooks[z].push(..._)}}function zS(){return G8.registeredHooks}function U25(){G8.registeredHooks=null}function pz8(){if(!G8.registeredHooks)return;let q={};for(let[K,_]of Object.entries(G8.registeredHooks)){let z=_.filter((Y)=>!(\"pluginRoot\"in Y));if(z.length>0)q[K]=z}G8.registeredHooks=Object.keys(q).length>0?q:null}function YP7(){G8.initJsonSchema=null,G8.registeredHooks=null}function h_6(){return G8.planSlugCache}function mu6(){return G8.sessionCreatedTeams}function Bu6(q){G8.teleportedSessionInfo={isTeleported:!0,hasLoggedFirstMessage:!1,sessionId:q.sessionId}}function gz8(){return G8.teleportedSessionInfo}function Fz8(){if(G8.teleportedSessionInfo)G8.teleportedSessionInfo.hasLoggedFirstMessage=!0}function XD6(q,K,_,z=null){let Y=`${z??\"\"}:${q}`;G8.invokedSkills.set(Y,{skillName:q,skillPath:K,content:_,invokedAt:Date.now(),agentId:z})}function Q25(){return G8.invokedSkills}function ds8(q){let K=q??null,_=new Map;for(let[z,Y]of G8.invokedSkills)if(Y.agentId===K)_.set(z,Y);return _}function cs8(q){if(!q||q.size===0){G8.invokedSkills.clear();return}for(let[K,_]of G8.invokedSkills)if(_.agentId===null||!q.has(_.agentId))G8.invokedSkills.delete(K)}function Y66(q){for(let[K,_]of G8.invokedSkills)if(_.agentId===q)G8.invokedSkills.delete(K)}function AP7(q,K){return}function OP7(){if(G8.slowOperations.length===0)return tX7;let q=Date.now();if(G8.slowOperations.some((K)=>q-K.timestamp>=Ra8)){if(G8.slowOperations=G8.slowOperations.filter((K)=>q-K.timestamp<Ra8),G8.slowOperations.length===0)return tX7}return G8.slowOperations}function Ng(){return G8.mainThreadAgentType}function _n(q){G8.mainThreadAgentType=q}function cK(){return G8.isRemoteMode}function ls8(q){G8.isRemoteMode=q}function ns8(){return G8.systemPromptSectionCache}function is8(q,K){G8.systemPromptSectionCache.set(q,K)}function rs8(){G8.systemPromptSectionCache.clear()}function os8(){return G8.lastEmittedDate}function PD6(q){G8.lastEmittedDate=q}function bG(){return G8.additionalDirectoriesForClaudeMd}function pu6(q){G8.additionalDirectoriesForClaudeMd=q}function TJ(){return G8.allowedChannels}function zn(q){G8.allowedChannels=q}function Uz8(){return G8.hasDevChannels}function Qz8(q){G8.hasDevChannels=q}function as8(){return G8.promptCache1hAllowlist}function ss8(q){G8.promptCache1hAllowlist=q}function ts8(){return G8.afkModeHeaderLatched}function es8(q){G8.afkModeHeaderLatched=q}function qt8(){return G8.fastModeHeaderLatched}function Kt8(q){G8.fastModeHeaderLatched=q}function _t8(){return G8.cacheEditingHeaderLatched}function d25(q){G8.cacheEditingHeaderLatched=q}function zt8(){return G8.thinkingClearLatched}function Yt8(q){G8.thinkingClearLatched=q}function At8(){G8.afkModeHeaderLatched=null,G8.fastModeHeaderLatched=null,G8.cacheEditingHeaderLatched=null,G8.thinkingClearLatched=null}function gu6(){return G8.promptId}function Fu6(q){G8.promptId=q}var G8,ba8,xa8,la8=!1,ia8,ra8,aa8=0,sa8=null,Lz8=0,kz8=!1,Wu6,KP7=150,sX7=10,Ra8=1e4,tX7;var v8=L(()=>{UX7();ya8();tl();G8=eX7();ba8=E9(),xa8=ba8.subscribe;ia8=E9(),ra8=ia8.subscribe;tX7=[]});function dz8(q){let K;for(let _ in q)if(_.startsWith(\"_PROTO_\")){if(K===void 0)K={...q};delete K[_]}return K??q}function $P7(q){if(A66!==null)return;if(A66=q,Uu6.length>0){let K=[...Uu6];Uu6.length=0,queueMicrotask(()=>{for(let _ of K)if(_.async)A66.logEventAsync(_.eventName,_.metadata);else A66.logEvent(_.eventName,_.metadata)})}}function d(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!1});return}A66.logEvent(q,K)}async function wP7(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!0});return}await A66.logEventAsync(q,K)}var Uu6,A66=null;var T8=L(()=>{Uu6=[]});function WD6({writeFn:q,flushIntervalMs:K=1000,maxBufferSize:_=100,maxBufferBytes:z=1/0,immediateMode:Y=!1}){let A=[],O=0,$=null,w=null;function j(){if($)clearTimeout($),$=null}function H(){if(w)q(w.join(\"\")),w=null;if(A.length===0)return;q(A.join(\"\")),A=[],O=0,j()}function J(){if(!$)$=setTimeout(H,K)}function M(){if(w){w.push(...A),A=[],O=0,j();return}let X=A;A=[],O=0,j(),w=X,setImmediate(()=>{let P=w;if(w=null,P)q(P.join(\"\"))})}return{write(X){if(Y){q(X);return}if(A.push(X),O+=X.length,J(),A.length>=_||O>=z)M()},flush:H,dispose(){H()}}}function gq(q){return Ot8.add(q),()=>Ot8.delete(q)}async function jP7(){await Promise.all(Array.from(Ot8).map((q)=>q()))}var Ot8;var o9=L(()=>{Ot8=new Set});function c25(q){let K=[],_=q.match(/^MCP server [\"']([^\"']+)[\"']/);if(_&&_[1])K.push(\"mcp\"),K.push(_[1].toLowerCase());else{let A=q.match(/^([^:[]+):/);if(A&&A[1])K.push(A[1].trim().toLowerCase())}let z=q.match(/^\\[([^\\]]+)]/);if(z&&z[1])K.push(z[1].trim().toLowerCase());if(q.toLowerCase().includes(\"1p event:\"))K.push(\"1p\");let Y=q.match(/:\\s*([^:]+?)(?:\\s+(?:type|mode|status|event))?:/);if(Y&&Y[1]){let A=Y[1].trim().toLowerCase();if(A.length<30&&!A.includes(\" \"))K.push(A)}return Array.from(new Set(K))}function l25(q,K){if(!K)return!0;if(q.length===0)return!1;if(K.isExclusive)return!q.some((_)=>K.exclude.includes(_));else return q.some((_)=>K.include.includes(_))}function JP7(q,K){if(!K)return!0;let _=c25(q);return l25(_,K)}var HP7;var MP7=L(()=>{h4();HP7=A1((q)=>{if(!q||q.trim()===\"\")return null;let K=q.split(\",\").map((A)=>A.trim()).filter(Boolean);if(K.length===0)return null;let _=K.some((A)=>A.startsWith(\"!\")),z=K.some((A)=>!A.startsWith(\"!\"));if(_&&z)return null;let Y=K.map((A)=>A.replace(/^!/,\"\").toLowerCase());return{include:_?[]:Y,exclude:_?Y:[],isExclusive:_}})});import{homedir as n25}from\"os\";import{join as XP7}from\"path\";function fD6(){return XP7(O7(),\"teams\")}function ZD6(q){let K=process.env.NODE_OPTIONS;if(!K)return!1;return K.split(/\\s+/).includes(q)}function Yn(q,K){if(q===void 0)return K;let _=parseInt(q,10);return Number.isNaN(_)?K:_}function B6(q){if(!q)return!1;if(typeof q===\"boolean\")return q;let K=q.toLowerCase().trim();return[\"1\",\"true\",\"yes\",\"on\"].includes(K)}function a9(q){if(q===void 0)return!1;if(typeof q===\"boolean\")return!q;if(!q)return!1;let K=q.toLowerCase().trim();return[\"0\",\"false\",\"no\",\"off\"].includes(K)}function D9(){return B6(process.env.CLAUDE_CODE_SIMPLE)||process.argv.includes(\"--bare\")}function PP7(q){let K={};if(q)for(let _ of q){let[z,...Y]=_.split(\"=\");if(!z||Y.length===0)throw Error(`Invalid environment variable format: ${_}, environment variables should be added as: -e KEY1=value1 -e KEY2=value2`);K[z]=Y.join(\"=\")}return K}function YS(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||\"us-east-1\"}function cz8(){return process.env.CLOUD_ML_REGION||\"us-east5\"}function DP7(){return B6(process.env.CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR)}function Af(){return!1}function AS(){return!1}function WP7(){return{namespace:void 0,cluster:void 0}}function lz8(q){if(q){let K=i25.find(([_])=>q.startsWith(_));if(K)return process.env[K[1]]||cz8()}return cz8()}var O7,i25;var B8=L(()=>{h4();O7=A1(()=>{return(process.env.CLAUDE_CONFIG_DIR??XP7(n25(),\".claude\")).normalize(\"NFC\")},()=>process.env.CLAUDE_CONFIG_DIR);i25=[[\"claude-haiku-4-5\",\"VERTEX_REGION_CLAUDE_HAIKU_4_5\"],[\"claude-3-5-haiku\",\"VERTEX_REGION_CLAUDE_3_5_HAIKU\"],[\"claude-3-5-sonnet\",\"VERTEX_REGION_CLAUDE_3_5_SONNET\"],[\"claude-3-7-sonnet\",\"VERTEX_REGION_CLAUDE_3_7_SONNET\"],[\"claude-opus-4-6\",\"VERTEX_REGION_CLAUDE_4_6_OPUS\"],[\"claude-opus-4-1\",\"VERTEX_REGION_CLAUDE_4_1_OPUS\"],[\"claude-opus-4\",\"VERTEX_REGION_CLAUDE_4_0_OPUS\"],[\"claude-sonnet-4-6\",\"VERTEX_REGION_CLAUDE_4_6_SONNET\"],[\"claude-sonnet-4-5\",\"VERTEX_REGION_CLAUDE_4_5_SONNET\"],[\"claude-sonnet-4\",\"VERTEX_REGION_CLAUDE_4_0_SONNET\"]]});function $4(q,K,_,z,Y){if(z===\"m\")throw TypeError(\"Private method is not writable\");if(z===\"a\"&&!Y)throw TypeError(\"Private accessor was defined without a setter\");if(typeof K===\"function\"?q!==K||!Y:!K.has(q))throw TypeError(\"Cannot write private member to an object whose class did not declare it\");return z===\"a\"?Y.call(q,_):Y?Y.value=_:K.set(q,_),_}function u1(q,K,_,z){if(_===\"a\"&&!z)throw TypeError(\"Private accessor was defined without a getter\");if(typeof K===\"function\"?q!==K||!z:!K.has(q))throw TypeError(\"Cannot read private member from an object whose class did not declare it\");return _===\"m\"?z:_===\"a\"?z.call(q):z?z.value:K.get(q)}var An=()=>{};var $t8=function(){let{crypto:q}=globalThis;if(q?.randomUUID)return $t8=q.randomUUID.bind(q),q.randomUUID();let K=new Uint8Array(1),_=q?()=>q.getRandomValues(K)[0]:()=>Math.random()*255&255;return\"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,(z)=>(+z^_()&15>>+z/4).toString(16))};function On(q){return typeof q===\"object\"&&q!==null&&((\"name\"in q)&&q.name===\"AbortError\"||(\"message\"in q)&&String(q.message).includes(\"FetchRequestCanceledException\"))}var Qu6=(q)=>{if(q instanceof Error)return q;if(typeof q===\"object\"&&q!==null){try{if(Object.prototype.toString.call(q)===\"[object Error]\"){let K=Error(q.message,q.cause?{cause:q.cause}:{});if(q.stack)K.stack=q.stack;if(q.cause&&!K.cause)K.cause=q.cause;if(q.name)K.name=q.name;return K}}catch{}try{return Error(JSON.stringify(q))}catch{}}return Error(q)};var vq,dq,c_,Of,yg,du6,R_6,cu6,S_6,lu6,nu6,iu6,ru6;var $W=L(()=>{vq=class vq extends Error{};dq=class dq extends vq{constructor(q,K,_,z,Y){super(`${dq.makeMessage(q,K,_)}`);this.status=q,this.headers=z,this.requestID=z?.get(\"request-id\"),this.error=K,this.type=Y??null}static makeMessage(q,K,_){let z=K?.message?typeof K.message===\"string\"?K.message:JSON.stringify(K.message):K?JSON.stringify(K):_;if(q&&z)return`${q} ${z}`;if(q)return`${q} status code (no body)`;if(z)return z;return\"(no status code or body)\"}static generate(q,K,_,z){if(!q||!z)return new Of({message:_,cause:Qu6(K)});let Y=K,A=Y?.error?.type;if(q===400)return new du6(q,Y,_,z,A);if(q===401)return new R_6(q,Y,_,z,A);if(q===403)return new cu6(q,Y,_,z,A);if(q===404)return new S_6(q,Y,_,z,A);if(q===409)return new lu6(q,Y,_,z,A);if(q===422)return new nu6(q,Y,_,z,A);if(q===429)return new iu6(q,Y,_,z,A);if(q>=500)return new ru6(q,Y,_,z,A);return new dq(q,Y,_,z,A)}};c_=class c_ extends dq{constructor({message:q}={}){super(void 0,void 0,q||\"Request was aborted.\",void 0)}};Of=class Of extends dq{constructor({message:q,cause:K}){super(void 0,void 0,q||\"Connection error.\",void 0);if(K)this.cause=K}};yg=class yg extends Of{constructor({message:q}={}){super({message:q??\"Request timed out.\"})}};du6=class du6 extends dq{};R_6=class R_6 extends dq{};cu6=class cu6 extends dq{};S_6=class S_6 extends dq{};lu6=class lu6 extends dq{};nu6=class nu6 extends dq{};iu6=class iu6 extends dq{};ru6=class ru6 extends dq{}});function nz8(q){if(typeof q!==\"object\")return{};return q??{}}function Ht8(q){if(!q)return!0;for(let K in q)return!1;return!0}function ZP7(q,K){return Object.prototype.hasOwnProperty.call(q,K)}var o25,fP7=(q)=>{return o25.test(q)},wt8=(q)=>(wt8=Array.isArray,wt8(q)),jt8,GP7=(q,K)=>{if(typeof K!==\"number\"||!Number.isInteger(K))throw new vq(`${q} must be an integer`);if(K<0)throw new vq(`${q} must be a positive integer`);return K},iz8=(q)=>{try{return JSON.parse(q)}catch(K){return}};var C_6=L(()=>{$W();o25=/^[a-z][a-z0-9+.-]*:/i,jt8=wt8});var vP7=(q)=>new Promise((K)=>setTimeout(K,q));var O66=\"0.81.0\";function a25(){if(typeof Deno<\"u\"&&Deno.build!=null)return\"deno\";if(typeof EdgeRuntime<\"u\")return\"edge\";if(Object.prototype.toString.call(typeof globalThis.process<\"u\"?globalThis.process:0)===\"[object process]\")return\"node\";return\"unknown\"}function t25(){if(typeof navigator>\"u\"||!navigator)return null;let q=[{key:\"edge\",pattern:/Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"chrome\",pattern:/Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"firefox\",pattern:/Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"safari\",pattern:/(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/}];for(let{key:K,pattern:_}of q){let z=_.exec(navigator.userAgent);if(z){let Y=z[1]||0,A=z[2]||0,O=z[3]||0;return{browser:K,version:`${Y}.${A}.${O}`}}}return null}var NP7=()=>{return typeof window<\"u\"&&typeof window.document<\"u\"&&typeof navigator<\"u\"},s25=()=>{let q=a25();if(q===\"deno\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(Deno.build.os),\"X-Stainless-Arch\":TP7(Deno.build.arch),\"X-Stainless-Runtime\":\"deno\",\"X-Stainless-Runtime-Version\":typeof Deno.version===\"string\"?Deno.version:Deno.version?.deno??\"unknown\"};if(typeof EdgeRuntime<\"u\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":`other:${EdgeRuntime}`,\"X-Stainless-Runtime\":\"edge\",\"X-Stainless-Runtime-Version\":globalThis.process.version};if(q===\"node\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(globalThis.process.platform??\"unknown\"),\"X-Stainless-Arch\":TP7(globalThis.process.arch??\"unknown\"),\"X-Stainless-Runtime\":\"node\",\"X-Stainless-Runtime-Version\":globalThis.process.version??\"unknown\"};let K=t25();if(K)return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":`browser:${K.browser}`,\"X-Stainless-Runtime-Version\":K.version};return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":\"unknown\",\"X-Stainless-Runtime-Version\":\"unknown\"}},TP7=(q)=>{if(q===\"x32\")return\"x32\";if(q===\"x86_64\"||q===\"x64\")return\"x64\";if(q===\"arm\")return\"arm\";if(q===\"aarch64\"||q===\"arm64\")return\"arm64\";if(q)return`other:${q}`;return\"unknown\"},VP7=(q)=>{if(q=q.toLowerCase(),q.includes(\"ios\"))return\"iOS\";if(q===\"android\")return\"Android\";if(q===\"darwin\")return\"MacOS\";if(q===\"win32\")return\"Windows\";if(q===\"freebsd\")return\"FreeBSD\";if(q===\"openbsd\")return\"OpenBSD\";if(q===\"linux\")return\"Linux\";if(q)return`Other:${q}`;return\"Unknown\"},kP7,yP7=()=>{return kP7??(kP7=s25())};var Jt8=()=>{};function EP7(){if(typeof fetch<\"u\")return fetch;throw Error(\"`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`\")}function Mt8(...q){let K=globalThis.ReadableStream;if(typeof K>\"u\")throw Error(\"`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`\");return new K(...q)}function rz8(q){let K=Symbol.asyncIterator in q?q[Symbol.asyncIterator]():q[Symbol.iterator]();return Mt8({start(){},async pull(_){let{done:z,value:Y}=await K.next();if(z)_.close();else _.enqueue(Y)},async cancel(){await K.return?.()}})}function ou6(q){if(q[Symbol.asyncIterator])return q;let K=q.getReader();return{async next(){try{let _=await K.read();if(_?.done)K.releaseLock();return _}catch(_){throw K.releaseLock(),_}},async return(){let _=K.cancel();return K.releaseLock(),await _,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function LP7(q){if(q===null||typeof q!==\"object\")return;if(q[Symbol.asyncIterator]){await q[Symbol.asyncIterator]().return?.();return}let K=q.getReader(),_=K.cancel();K.releaseLock(),await _}var hP7=({headers:q,body:K})=>{return{bodyHeaders:{\"content-type\":\"application/json\"},body:JSON.stringify(K)}};function RP7(q){return Object.entries(q).filter(([K,_])=>typeof _<\"u\").map(([K,_])=>{if(typeof _===\"string\"||typeof _===\"number\"||typeof _===\"boolean\")return`${encodeURIComponent(K)}=${encodeURIComponent(_)}`;if(_===null)return`${encodeURIComponent(K)}=`;throw new vq(`Cannot stringify type ${typeof _}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(\"&\")}var SP7=L(()=>{$W()});function xP7(q){let K=0;for(let Y of q)K+=Y.length;let _=new Uint8Array(K),z=0;for(let Y of q)_.set(Y,z),z+=Y.length;return _}function au6(q){let K;return(CP7??(K=new globalThis.TextEncoder,CP7=K.encode.bind(K)))(q)}function Xt8(q){let K;return(bP7??(K=new globalThis.TextDecoder,bP7=K.decode.bind(K)))(q)}var CP7,bP7;class $66{constructor(){wL.set(this,void 0),jL.set(this,void 0),$4(this,wL,new Uint8Array,\"f\"),$4(this,jL,null,\"f\")}decode(q){if(q==null)return[];let K=q instanceof ArrayBuffer?new Uint8Array(q):typeof q===\"string\"?au6(q):q;$4(this,wL,xP7([u1(this,wL,\"f\"),K]),\"f\");let _=[],z;while((z=Kj5(u1(this,wL,\"f\"),u1(this,jL,\"f\")))!=null){if(z.carriage&&u1(this,jL,\"f\")==null){$4(this,jL,z.index,\"f\");continue}if(u1(this,jL,\"f\")!=null&&(z.index!==u1(this,jL,\"f\")+1||z.carriage)){_.push(Xt8(u1(this,wL,\"f\").subarray(0,u1(this,jL,\"f\")-1))),$4(this,wL,u1(this,wL,\"f\").subarray(u1(this,jL,\"f\")),\"f\"),$4(this,jL,null,\"f\");continue}let Y=u1(this,jL,\"f\")!==null?z.preceding-1:z.preceding,A=Xt8(u1(this,wL,\"f\").subarray(0,Y));_.push(A),$4(this,wL,u1(this,wL,\"f\").subarray(z.index),\"f\"),$4(this,jL,null,\"f\")}return _}flush(){if(!u1(this,wL,\"f\").length)return[];return this.decode(`\n ^^^\n\nSyntaxError: Unexpected token '??='\n at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)\n at async link (internal/modules/esm/module_job.js:47:21)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nvm use 24\nNow using node v24.11.1 (npm v11.6.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude \n╭─── Claude Code v2.1.97 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ \n│ │ Tips for getting started │ \n│ Welcome back Lukas! │ Run /init to create a CLAUDE.md file with instructions for Claude │ \n│ │ Note: You have launched claude in your home directory. For the best experience, launch it in a project directory instead. │ \n│ ▐▛███▜▌ │ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── │ \n│ ▝▜█████▛▘ │ Recent activity │ \n│ ▘▘ ▝▝ │ No recent activity │ \n│ Sonnet 4.6 · Claude Pro · kovaliklukas@gmail.com's │ │ \n│ Organization │ │ \n│ /Users/lukas │ │ \n╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ \n \n❯ what did I do yesterday? Give me summary of my activity from screenpipe \n \n⏺ screenpipe - Activity Summary (MCP)(start_time: \"2026-04-11T00:00:00\", end_time: \"2026-04-11T23:59:59\") \n \n⏺ screenpipe - Activity Summary (MCP)(start_time: \"2026-04-11T00:00:00Z\", end_time: \"2026-04-11T23:59:59Z\") \n \n⏺ Here's your activity summary for yesterday (April 11): \n \n --- \n Total active time: ~3 hours (roughly 15:00–21:00 UTC) \n \n Main focus areas \n \n Screenpipe development (~2h combined) \n - Heavy terminal work in iTerm2 (67 min in zsh + SSH) \n - Building a screenpipe data UI — working remotely on 100.73.206.126 via SSH \n - Editing report.py and\u0000a bash script in VS Code \u0000 \u0000 \u0000 \u0000 \n - Checking the Screenpipe Dashboard in Firefox \n \n Work (Jiminny) (~15 min) \n - Checked the Scrum Board for Platform Sprint 1 Q2 \n - Looked at service desk queues \n - Checked an email about\u0000an \"Ask\u0000Jiminny\"\u0000test\u0000report\n - Briefly attempted to access app.dev.jiminny.com (got a page load error) \n - Explored Gemini for Google Workspace (request access) \n \n NAS / personal infra (~12 min) \n - Browsing your NAS at nas.lakylak.xyz \n \n Reading (Denník N)\u0000(~6\u0000min)\n - Article about the Artemis II / Orion splashdown \n - Coverage on Iran and Trump news \u0000 \n \n Claude (~5 min) \n -\u0000Used\u0000Claude,\u0000likely\u0000related\u0000to\u0000screenpipe\u0000work\u0000(querying\u0000the\u0000screenpipe\u0000search\u0000API)\n \n --- \n TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, and evening reading on Slovak news. \n \n───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n❯ \n───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n ? for shortcuts\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","depth":4,"value":"4 frames https://location-tracker.lakylak.xyz/dashboard\n 2 frames https://nas.lakylak.xyz/desktop/?os=ugospro#/\n 1 frames https://play.hbomax.com/show/06f986dd-dd6a-4596-9a0a-f473ef99c64b\n\n🪟\u0000 WINDOW TITLES (top 20)\n───────────────────────────────────────\niTerm2 93 -zsh\niTerm2 34 screenpipe\"\nSafari 13 Order Room Service • HBO Max\nClaude 12 Claude\niTerm2 8 ✳ Find cheapest WD Red Plus 6TB price\nDia 7 Personal: New Tab\niTerm2 7 ✳ Claude Code\niTerm2 7 ⠂ Find cheapest WD Red Plus 6TB price\niTerm2 7 ⠂ Research Western Digital Red Plus pricing\niTerm2 7 ⠐ Research Western Digital Red Plus pricing\nDia 6 Personal: GitHub - scree…\niTerm2 5 ✳ Research Western Digital Red Plus pricing\nSafari 4 Location Logger\nUserNotificationCenter 4 \niTerm2 4 nano\niTerm2 4 ⠐ Find cheapest WD Red Plus 6TB price\nControl Centre 3 Control Centre\nDia 3 Personal: Western Digita…\niTerm2 3 ✳ Check today's app usage\nActivity Monitor 2 Activity Monitor – All Processes\n\n🕐\u0000 HOURLY TIMELINE\n───────────────────────────────────────\n16:00 iTerm2 14 frames\n16:00 Safari 4 frames\n16:00 Dia 3 frames\n16:00 Control Centre 2 frames\n16:00 Activity Monitor 2 frames\n17:00 iTerm2 116 frames\n17:00 Dia 24 frames\n17:00 Safari 16 frames\n17:00 Claude 8 frames\n17:00 UserNotificationCenter 4 frames\n17:00 Finder 1 frames\n17:00 Control Centre 1 frames\n18:00 iTerm2 55 frames\n18:00 Dia 4 frames\n18:00 Claude 4 frames\n18:00 Slack 2 frames\n\n📋\u0000 CLIPBOARD\n───────────────────────────────────────\niTerm2 claude mcp add screenpipe -- npx -y screenpipe-mcp\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\nDia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cd /volume2/applications/\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe\n[sudo] password for Adm1n: \nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps screenpipe ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls\n app data db.sqlite pipes '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll\ntotal 95084\ndrwxrwxrwx 1 root root 76 Apr 11 17:43 .\ndrwxr-xr-x 1 root root 450 Apr 11 16:11 ..\ndrwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app\ndrwxrwxrwx 1 root root 58 Apr 11 17:29 data\n-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite\n-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store\ndrwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes\ndrwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 15.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s\n => [screenpipe-app internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.2s\n => => transferring context: 40.53kB 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s\n => => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s\n => => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s\n => => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s\n => => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s\n => => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s\n => => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s\n => => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s\n => => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s\n => => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s\n => => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s\n => => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s\n => => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s\n => [screenpipe-app 2/5] WORKDIR /app 0.4s\n => [screenpipe-app 3/5] COPY requirements.txt . 0.2s\n => [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s\n => [screenpipe-app 5/5] COPY . . 0.2s \n => [screenpipe-app] exporting to image 0.4s \n => => exporting layers 0.3s \n => => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s \n => => naming to docker.io/library/app-screenpipe-app 0.0s \n[+] Running 2/2 \n ✔ Network app_default Created 0.2s \n ✔ Container screenpipe-app Created 0.1s \nError response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 0.0.0.0:8765: bind: address already in use\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.1s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 1.7s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 24.55kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 38.85kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.6s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.1s\n => => transferring context: 47.13kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.5s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 61.77kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build\nunknown shorthand flag: 'd' in -d\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.0s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 915B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => CACHED [screenpipe-app 5/5] COPY . . 0.0s\n => [screenpipe-app] exporting to image 0.0s\n => => exporting layers 0.0s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude\nfile:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8\nimport{createRequire as MA5}from\"node:module\";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q===\"object\";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,\"default\",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},\"__esModule\",{value:!0}),q&&typeof q===\"object\"||typeof q===\"function\"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for(\"Symbol.dispose\"),PA5=Symbol.asyncDispose||Symbol.for(\"Symbol.asyncDispose\"),lz=(q,K,_)=>{if(K!=null){if(typeof K!==\"object\"&&typeof K!==\"function\")throw TypeError('Object expected to be assigned to \"using\" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!==\"function\")throw TypeError(\"Object not disposable\");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError===\"function\"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name=\"SuppressedError\",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,\"An error was suppressed during disposal\"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global==\"object\"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self==\"object\"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function(\"return this\")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5=\"[object Null]\",gA5=\"[object Undefined]\",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K==\"object\"||K==\"function\")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5=\"[object AsyncFunction]\",dA5=\"[object Function]\",cA5=\"[object GeneratorFunction]\",lA5=\"[object Proxy]\",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ[\"__core-js_shared__\"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||\"\");return q?\"Symbol(src)_1.\"+q:\"\"}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+\"\"}catch(K){}}return\"\"}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\\\^$.*+?()[\\]{}|]/g,eA5=/^\\[object .+?Constructor\\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp(\"^\"+_O5.call(zO5).replace(tA5,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,\"Map\"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,\"create\"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5=\"__lodash_hash_undefined__\",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5=\"__lodash_hash_undefined__\",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K==\"string\"||K==\"number\"||K==\"symbol\"||K==\"boolean\"?q!==\"__proto__\":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K==\"string\"?\"string\":\"hash\"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5=\"__lodash_hash_undefined__\",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+\"\";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5=\"[object Boolean]\",cO5=\"[object Date]\",lO5=\"[object Error]\",nO5=\"[object Map]\",iO5=\"[object Number]\",rO5=\"[object RegExp]\",oO5=\"[object Set]\",aO5=\"[object String]\",sO5=\"[object Symbol]\",tO5=\"[object ArrayBuffer]\",eO5=\"[object DataView]\",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q==\"object\"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5=\"[object Arguments]\",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,\"callee\")&&!P$5.call(q,\"callee\")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8==\"object\"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8==\"object\"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_==\"number\"||_!=\"symbol\"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=9007199254740991,T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\\d*)$/;re=V$5});function N$5(q){return typeof q==\"number\"&&q>-1&&q%1==0&&q<=k$5}var k$5=9007199254740991,rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5=\"[object Arguments]\",E$5=\"[object Array]\",L$5=\"[object Boolean]\",h$5=\"[object Date]\",R$5=\"[object Error]\",S$5=\"[object Function]\",C$5=\"[object Map]\",b$5=\"[object Number]\",x$5=\"[object Object]\",I$5=\"[object RegExp]\",u$5=\"[object Set]\",m$5=\"[object String]\",B$5=\"[object WeakMap]\",p$5=\"[object ArrayBuffer]\",g$5=\"[object DataView]\",F$5=\"[object Float32Array]\",U$5=\"[object Float64Array]\",Q$5=\"[object Int8Array]\",d$5=\"[object Int16Array]\",c$5=\"[object Int32Array]\",l$5=\"[object Uint8Array]\",n$5=\"[object Uint8ClampedArray]\",i$5=\"[object Uint16Array]\",r$5=\"[object Uint32Array]\",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8==\"object\"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8==\"object\"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require(\"util\").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding(\"util\")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j==\"length\"||Y&&(j==\"offset\"||j==\"parent\")||A&&(j==\"buffer\"||j==\"byteLength\"||j==\"byteOffset\")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K==\"function\"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!=\"constructor\")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M==\"constructor\")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&((\"constructor\"in q)&&(\"constructor\"in K))&&!(typeof v==\"function\"&&v instanceof v&&typeof V==\"function\"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,\"DataView\"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,\"Promise\"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,\"Set\"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,\"WeakMap\"),Xz8=vw5});var sM7=\"[object Map]\",Tw5=\"[object Object]\",tM7=\"[object Promise]\",eM7=\"[object Set]\",qX7=\"[object WeakMap]\",KX7=\"[object DataView]\",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();Q_8();oM7();Ta8();aM7();M_6();Oa8();Vw5=rl(Jz8),kw5=rl(ne),Nw5=rl(Mz8),yw5=rl(oe),Ew5=rl(Xz8),D_6=YL;if(Jz8&&D_6(new Jz8(new ArrayBuffer(1)))!=KX7||ne&&D_6(new ne)!=sM7||Mz8&&D_6(Mz8.resolve())!=tM7||oe&&D_6(new oe)!=eM7||Xz8&&D_6(new Xz8)!=qX7)D_6=function(q){var K=YL(q),_=K==Tw5?q.constructor:void 0,z=_?rl(_):\"\";if(z)switch(z){case Vw5:return KX7;case kw5:return sM7;case Nw5:return tM7;case yw5:return eM7;case Ew5:return qX7}return K};sl=D_6});function Rw5(q,K,_,z,Y,A){var O=DO(q),$=DO(K),w=O?zX7:sl(q),j=$?zX7:sl(K);w=w==_X7?Pz8:w,j=j==_X7?Pz8:j;var H=w==Pz8,J=j==Pz8,M=w==j;if(M&&fg(q)){if(!fg(K))return!1;O=!0,H=!1}if(M&&!H)return A||(A=new Dg),O||aP6(q)?i_8(q,K,_,z,Y,A):EM7(q,K,w,_,z,Y,A);if(!(_&Lw5)){var X=H&&YX7.call(q,\"__wrapped__\"),P=J&&YX7.call(K,\"__wrapped__\");if(X||P){var D=X?q.value():q,W=P?K.value():K;return A||(A=new Dg),Y(D,W,_,z,A)}}if(!M)return!1;return A||(A=new Dg),nM7(q,K,_,z,Y,A)}var Lw5=1,_X7=\"[object Arguments]\",zX7=\"[object Array]\",Pz8=\"[object Object]\",hw5,YX7,AX7;var OX7=L(()=>{Au6();Ha8();LM7();iM7();Ju6();RT();$u6();$z8();hw5=Object.prototype,YX7=hw5.hasOwnProperty;AX7=Rw5});function $X7(q,K,_,z,Y){if(q===K)return!0;if(q==null||K==null||!QP(q)&&!QP(K))return q!==q&&K!==K;return AX7(q,K,_,z,$X7,Y)}var eP6;var Dz8=L(()=>{OX7();Wg();eP6=$X7});function bw5(q,K,_,z){var Y=_.length,A=Y,O=!z;if(q==null)return!A;q=Object(q);while(Y--){var $=_[Y];if(O&&$[2]?$[1]!==q[$[0]]:!($[0]in q))return!1}while(++Y<A){$=_[Y];var w=$[0],j=q[w],H=$[1];if(O&&$[2]){if(j===void 0&&!(w in q))return!1}else{var J=new Dg;if(z)var M=z(j,H,w,q,K,J);if(!(M===void 0?eP6(H,j,Sw5|Cw5,z,J):M))return!1}}return!0}var Sw5=1,Cw5=2,wX7;var jX7=L(()=>{Au6();Dz8();wX7=bw5});function xw5(q){return q===q&&!PO(q)}var Wz8;var Va8=L(()=>{hT();Wz8=xw5});function Iw5(q){var K=tR(q),_=K.length;while(_--){var z=K[_],Y=q[z];K[_]=[z,Y,Wz8(Y)]}return K}var HX7;var JX7=L(()=>{Va8();P_6();HX7=Iw5});function uw5(q,K){return function(_){if(_==null)return!1;return _[q]===K&&(K!==void 0||(q in Object(_)))}}var fz8;var ka8=L(()=>{fz8=uw5});function mw5(q){var K=HX7(q);if(K.length==1&&K[0][2])return fz8(K[0][0],K[0][1]);return function(_){return _===q||wX7(_,q,K)}}var MX7;var XX7=L(()=>{jX7();JX7();ka8();MX7=mw5});function pw5(q){return typeof q==\"symbol\"||QP(q)&&YL(q)==Bw5}var Bw5=\"[object Symbol]\",ae;var Mu6=L(()=>{M_6();Wg();ae=pw5});function Uw5(q,K){if(DO(q))return!1;var _=typeof q;if(_==\"number\"||_==\"symbol\"||_==\"boolean\"||q==null||ae(q))return!0;return Fw5.test(q)||!gw5.test(q)||K!=null&&q in Object(K)}var gw5,Fw5,qD6;var Zz8=L(()=>{RT();Mu6();gw5=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Fw5=/^\\w*$/;qD6=Uw5});function Na8(q,K){if(typeof q!=\"function\"||K!=null&&typeof K!=\"function\")throw TypeError(Qw5);var _=function(){var z=arguments,Y=K?K.apply(this,z):z[0],A=_.cache;if(A.has(Y))return A.get(Y);var O=q.apply(this,z);return _.cache=A.set(Y,O)||A,O};return _.cache=new(Na8.Cache||X_6),_}var Qw5=\"Expected a function\",A1;var h4=L(()=>{d_8();Na8.Cache=X_6;A1=Na8});function cw5(q){var K=A1(q,function(z){if(_.size===dw5)_.clear();return z}),_=K.cache;return K}var dw5=500,PX7;var DX7=L(()=>{h4();PX7=cw5});var lw5,nw5,iw5,WX7;var fX7=L(()=>{DX7();lw5=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,nw5=/\\\\(\\\\)?/g,iw5=PX7(function(q){var K=[];if(q.charCodeAt(0)===46)K.push(\"\");return q.replace(lw5,function(_,z,Y,A){K.push(Y?A.replace(nw5,\"$1\"):z||_)}),K}),WX7=iw5});function rw5(q,K){var _=-1,z=q==null?0:q.length,Y=Array(z);while(++_<z)Y[_]=K(q[_],_,q);return Y}var se;var Xu6=L(()=>{se=rw5});function vX7(q){if(typeof q==\"string\")return q;if(DO(q))return se(q,vX7)+\"\";if(ae(q))return GX7?GX7.call(q):\"\";var K=q+\"\";return K==\"0\"&&1/q==-ow5?\"-0\":K}var ow5=1/0,ZX7,GX7,TX7;var VX7=L(()=>{J_6();Xu6();RT();Mu6();ZX7=YW?YW.prototype:void 0,GX7=ZX7?ZX7.toString:void 0;TX7=vX7});function aw5(q){return q==null?\"\":TX7(q)}var KD6;var Gz8=L(()=>{VX7();KD6=aw5});function sw5(q,K){if(DO(q))return q;return qD6(q,K)?[q]:WX7(KD6(q))}var eR;var W_6=L(()=>{RT();Zz8();fX7();Gz8();eR=sw5});function ew5(q){if(typeof q==\"string\"||ae(q))return q;var K=q+\"\";return K==\"0\"&&1/q==-tw5?\"-0\":K}var tw5=1/0,qS;var f_6=L(()=>{Mu6();qS=ew5});function q25(q,K){K=eR(K,q);var _=0,z=K.length;while(q!=null&&_<z)q=q[qS(K[_++])];return _&&_==z?q:void 0}var te;var Pu6=L(()=>{W_6();f_6();te=q25});function K25(q,K,_){var z=q==null?void 0:te(q,K);return z===void 0?_:z}var kX7;var NX7=L(()=>{Pu6();kX7=K25});function _25(q,K){return q!=null&&K in Object(q)}var yX7;var EX7=L(()=>{yX7=_25});function z25(q,K,_){K=eR(K,q);var z=-1,Y=K.length,A=!1;while(++z<Y){var O=qS(K[z]);if(!(A=q!=null&&_(q,O)))break;q=q[O]}if(A||++z!=Y)return A;return Y=q==null?0:q.length,!!Y&&rP6(Y)&&re(O,Y)&&(DO(q)||al(q))}var LX7;var hX7=L(()=>{W_6();Ou6();RT();wu6();_z8();f_6();LX7=z25});function Y25(q,K){return q!=null&&LX7(q,K,yX7)}var RX7;var SX7=L(()=>{EX7();hX7();RX7=Y25});function $25(q,K){if(qD6(q)&&Wz8(K))return fz8(qS(q),K);return function(_){var z=kX7(_,q);return z===void 0&&z===K?RX7(_,q):eP6(K,z,A25|O25)}}var A25=1,O25=2,CX7;var bX7=L(()=>{Dz8();NX7();SX7();Zz8();Va8();ka8();f_6();CX7=$25});function w25(q){return q}var _D6;var vz8=L(()=>{_D6=w25});function j25(q){return function(K){return K==null?void 0:K[q]}}var xX7;var IX7=L(()=>{xX7=j25});function H25(q){return function(K){return te(K,q)}}var uX7;var mX7=L(()=>{Pu6();uX7=H25});function J25(q){return qD6(q)?xX7(qS(q)):uX7(q)}var BX7;var pX7=L(()=>{IX7();mX7();Zz8();f_6();BX7=J25});function M25(q){if(typeof q==\"function\")return q;if(q==null)return _D6;if(typeof q==\"object\")return DO(q)?CX7(q[0],q[1]):MX7(q);return BX7(q)}var rk;var ee=L(()=>{XX7();bX7();vz8();RT();pX7();rk=M25});function X25(q,K){var _,z=-1,Y=q.length;while(++z<Y){var A=K(q[z]);if(A!==void 0)_=_===void 0?A:_+A}return _}var gX7;var FX7=L(()=>{gX7=X25});function P25(q,K){return q&&q.length?gX7(q,rk(K,2)):0}var zD6;var UX7=L(()=>{ee();FX7();zD6=P25});import{randomUUID as Du6}from\"crypto\";var ya8=()=>{};function QX7(){return Ea8}function dX7(q){Ea8=q}function cX7(q){return Tz8.has(q)?Tz8.get(q):void 0}function lX7(q,K){Tz8.set(q,K)}function nX7(q){return La8.get(q)}function iX7(q,K){La8.set(q,K)}function AW(){Ea8=null,Tz8.clear(),La8.clear()}function Vz8(){return ha8}function rX7(q){ha8=q}function oX7(){ha8=void 0}var Ea8=null,Tz8,La8,ha8;var tl=L(()=>{Tz8=new Map;La8=new Map});function E9(){let q=new Set;return{subscribe(K){return q.add(K),()=>{q.delete(K)}},emit(...K){for(let _ of q)_(...K)},clear(){q.clear()}}}var DD6={};f8(DD6,{waitForScrollIdle:()=>Vu6,updateLastInteractionTime:()=>G_6,switchSession:()=>Yf,snapshotOutputTokensForTurn:()=>h25,setUserMsgOptIn:()=>Vg,setUseCoworkPlugins:()=>OL,setTracerProvider:()=>xz8,setThinkingClearLatched:()=>Yt8,setTeleportedSessionInfo:()=>Bu6,setSystemPromptSectionCacheEntry:()=>is8,setStrictToolResultPairing:()=>I25,setStatsStore:()=>ca8,setSessionTrustAccepted:()=>Iu6,setSessionSource:()=>fs8,setSessionPersistenceDisabled:()=>ms8,setSessionIngressToken:()=>y_6,setSessionBypassPermissionsMode:()=>Is8,setSdkBetas:()=>Ys8,setSdkAgentProgressSummariesEnabled:()=>Ps8,setScheduledTasksEnabled:()=>bu6,setQuestionPreviewFormat:()=>uz8,setPromptId:()=>Fu6,setPromptCache1hAllowlist:()=>ss8,setProjectRoot:()=>fu6,setOriginalCwd:()=>KS,setOauthTokenFromFd:()=>Vs8,setNeedsPlanModeExitAttachment:()=>gI,setNeedsAutoModeExitAttachment:()=>CG,setModelStrings:()=>Nu6,setMeterProvider:()=>bz8,setMeter:()=>As8,setMemoryToggledOff:()=>Ws8,setMainThreadAgentType:()=>_n,setMainLoopModelOverride:()=>dP,setLspRecommendationShownThisSession:()=>Us8,setLoopChainStartedAt:()=>g25,setLoggerProvider:()=>Sz8,setLastMainRequestId:()=>ea8,setLastEmittedDate:()=>PD6,setLastClassifierRequests:()=>hu6,setLastApiCompletionTimestamp:()=>Tu6,setLastAPIRequestMessages:()=>Ls8,setLastAPIRequest:()=>ys8,setKairosActive:()=>x25,setIsRemoteMode:()=>ls8,setIsInteractive:()=>Ms8,setInlinePlugins:()=>bs8,setInitialMainLoopModel:()=>zs8,setInitJsonSchema:()=>Qs8,setHasUnknownModelCost:()=>hz8,setHasExitedPlanMode:()=>$L,setHasDevChannels:()=>Qz8,setFlagSettingsPath:()=>Zs8,setFlagSettingsInline:()=>Gs8,setFastModeHeaderLatched:()=>Kt8,setEventLogger:()=>Cz8,setDirectConnectServerUrl:()=>W25,setCwdState:()=>Ia8,setCostStateForRestore:()=>ku6,setClientType:()=>Xs8,setChromeFlagOverride:()=>xs8,setCachedClaudeMdContent:()=>hs8,setCacheEditingHeaderLatched:()=>d25,setApiKeyFromFd:()=>Ns8,setAllowedSettingSources:()=>Cs8,setAllowedChannels:()=>zn,setAfkModeHeaderLatched:()=>es8,setAdditionalDirectoriesForClaudeMd:()=>pu6,setActiveRoutine:()=>Z25,resetTurnToolDuration:()=>Ua8,resetTurnHookDuration:()=>Fa8,resetTurnClassifierDuration:()=>da8,resetTotalDurationStateAndCost_FOR_TESTS_ONLY:()=>G25,resetStateForTests:()=>_P7,resetSdkInitState:()=>YP7,resetModelStringsForTestingOnly:()=>C25,resetCostState:()=>OD6,removeSessionCronTasks:()=>xu6,registerHookCallbacks:()=>z66,regenerateSessionId:()=>Sa8,preferThirdPartyAuthentication:()=>Ru6,onSessionSwitch:()=>xa8,onInteraction:()=>ra8,needsPlanModeExitAttachment:()=>Bs8,needsAutoModeExitAttachment:()=>ps8,markScrollActivity:()=>Ks8,markPostCompaction:()=>K66,markFirstTeleportMessageLogged:()=>Fz8,isSessionPersistenceDisabled:()=>ok,incrementBudgetContinuationCount:()=>S25,hasUnknownModelCost:()=>ta8,hasShownLspRecommendationThisSession:()=>Fs8,hasExitedPlanModeInSession:()=>uu6,handlePlanModeTransition:()=>Kn,handleAutoModeTransition:()=>gs8,getUserMsgOptIn:()=>AL,getUseCoworkPlugins:()=>Cu6,getUsageForModel:()=>_s8,getTurnToolDurationMs:()=>V25,getTurnToolCount:()=>k25,getTurnOutputTokens:()=>E25,getTurnHookDurationMs:()=>v25,getTurnHookCount:()=>T25,getTurnClassifierDurationMs:()=>N25,getTurnClassifierCount:()=>y25,getTracerProvider:()=>N_6,getTotalWebSearchRequests:()=>oa8,getTotalToolDuration:()=>ga8,getTotalOutputTokens:()=>el,getTotalLinesRemoved:()=>T_6,getTotalLinesAdded:()=>v_6,getTotalInputTokens:()=>V_6,getTotalDuration:()=>YD6,getTotalCostUSD:()=>XM,getTotalCacheReadInputTokens:()=>Zu6,getTotalCacheCreationInputTokens:()=>Gu6,getTotalAPIDurationWithoutRetries:()=>pa8,getTotalAPIDuration:()=>RG,getTokenCounter:()=>wD6,getThinkingClearLatched:()=>zt8,getTeleportedSessionInfo:()=>gz8,getSystemPromptSectionCache:()=>ns8,getStrictToolResultPairing:()=>Ds8,getStatsStore:()=>q66,getSlowOperations:()=>OP7,getSessionTrustAccepted:()=>MD6,getSessionSource:()=>u25,getSessionProjectDir:()=>Z_6,getSessionIngressToken:()=>vs8,getSessionId:()=>N8,getSessionCronTasks:()=>L_6,getSessionCreatedTeams:()=>mu6,getSessionCounter:()=>Os8,getSessionBypassPermissionsMode:()=>E_6,getSdkBetas:()=>OW,getSdkAgentProgressSummariesEnabled:()=>vg,getScheduledTasksEnabled:()=>JD6,getRegisteredHooks:()=>zS,getQuestionPreviewFormat:()=>Iz8,getPromptId:()=>gu6,getPromptCache1hAllowlist:()=>as8,getProjectRoot:()=>wz,getPrCounter:()=>yu6,getPlanSlugCache:()=>h_6,getParentSessionId:()=>Ca8,getOriginalCwd:()=>A7,getOauthTokenFromFd:()=>Ts8,getModelUsage:()=>ST,getModelStrings:()=>$D6,getMeterProvider:()=>Js8,getMeter:()=>b25,getMemoryToggledOff:()=>Tg,getMainThreadAgentType:()=>Ng,getMainLoopModelOverride:()=>pI,getLoopChainStartedAt:()=>p25,getLoggerProvider:()=>Lu6,getLocCounter:()=>Rz8,getLastMainRequestId:()=>vu6,getLastInteractionTime:()=>_S,getLastEmittedDate:()=>os8,getLastClassifierRequests:()=>zP7,getLastApiCompletionTimestamp:()=>qn,getLastAPIRequestMessages:()=>m25,getLastAPIRequest:()=>Es8,getKairosActive:()=>SG,getIsScrollDraining:()=>k_6,getIsRemoteMode:()=>cK,getIsNonInteractiveSession:()=>d7,getIsInteractive:()=>CT,getInvokedSkillsForAgent:()=>ds8,getInvokedSkills:()=>Q25,getInlinePlugins:()=>kg,getInitialMainLoopModel:()=>AD6,getInitJsonSchema:()=>Bz8,getHasDevChannels:()=>Uz8,getFlagSettingsPath:()=>_66,getFlagSettingsInline:()=>HD6,getFastModeHeaderLatched:()=>qt8,getEventLogger:()=>Hs8,getDirectConnectServerUrl:()=>ua8,getCwdState:()=>BI,getCurrentTurnTokenBudget:()=>L25,getCostCounter:()=>ws8,getCommitCounter:()=>$s8,getCodeEditToolDecisionCounter:()=>Eu6,getClientType:()=>jD6,getChromeFlagOverride:()=>Su6,getCachedClaudeMdContent:()=>Rs8,getCacheEditingHeaderLatched:()=>_t8,getBudgetContinuationCount:()=>R25,getApiKeyFromFd:()=>ks8,getAllowedSettingSources:()=>Ss8,getAllowedChannels:()=>TJ,getAgentColorMap:()=>mz8,getAfkModeHeaderLatched:()=>ts8,getAdditionalDirectoriesForClaudeMd:()=>bG,getActiveTimeCounter:()=>js8,getActiveRoutine:()=>f25,flushInteractionTime:()=>na8,deleteLoopChainStartedAt:()=>F25,consumePostCompaction:()=>qs8,clearSystemPromptSectionState:()=>rs8,clearRegisteredPluginHooks:()=>pz8,clearRegisteredHooks:()=>U25,clearInvokedSkillsForAgent:()=>Y66,clearInvokedSkills:()=>cs8,clearBetaHeaderLatches:()=>At8,addToTurnHookDuration:()=>yz8,addToTurnClassifierDuration:()=>Qa8,addToTotalLinesChanged:()=>Ez8,addToTotalDurationState:()=>ma8,addToTotalCostState:()=>Ba8,addToToolDuration:()=>Nz8,addToInMemoryErrorLog:()=>B25,addSlowOperation:()=>AP7,addSessionCronTask:()=>us8,addInvokedSkill:()=>XD6});import{realpathSync as aX7}from\"fs\";import{cwd as D25}from\"process\";function eX7(){let q=\"\";if(typeof process<\"u\"&&typeof process.cwd===\"function\"&&typeof aX7===\"function\"){let _=D25();try{q=aX7(_).normalize(\"NFC\")}catch{q=_.normalize(\"NFC\")}}return{originalCwd:q,projectRoot:q,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,turnHookDurationMs:0,turnToolDurationMs:0,turnClassifierDurationMs:0,turnToolCount:0,turnHookCount:0,turnClassifierCount:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:q,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,kairosActive:!1,strictToolResultPairing:!1,memoryToggledOff:!1,sdkAgentProgressSummariesEnabled:!1,userMsgOptIn:!1,clientType:\"cli\",sessionSource:void 0,questionPreviewFormat:void 0,sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,flagSettingsInline:null,allowedSettingSources:[\"userSettings\",\"projectSettings\",\"localSettings\",\"flagSettings\",\"policySettings\"],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,statsStore:null,sessionId:Du6(),parentSessionId:void 0,loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,lastAPIRequest:null,lastAPIRequestMessages:null,lastClassifierRequests:null,cachedClaudeMdContent:null,inMemoryErrorLog:[],inlinePlugins:[],chromeFlagOverride:void 0,useCoworkPlugins:!1,sessionBypassPermissionsMode:!1,scheduledTasksEnabled:!1,sessionCronTasks:[],loopChainStartedAt:Object.create(null),sessionCreatedTeams:new Set,sessionTrustAccepted:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,needsAutoModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map,slowOperations:[],sdkBetas:void 0,mainThreadAgentType:void 0,isRemoteMode:!1,...!1,directConnectServerUrl:void 0,activeRoutine:void 0,systemPromptSectionCache:new Map,lastEmittedDate:null,additionalDirectoriesForClaudeMd:[],allowedChannels:[],hasDevChannels:!1,sessionProjectDir:null,promptCache1hAllowlist:null,afkModeHeaderLatched:null,fastModeHeaderLatched:null,cacheEditingHeaderLatched:null,thinkingClearLatched:null,promptId:null,lastMainRequestId:void 0,lastApiCompletionTimestamp:null,pendingPostCompaction:!1}}function N8(){return G8.sessionId}function Sa8(q={}){if(q.setCurrentAsParent)G8.parentSessionId=G8.sessionId;return G8.planSlugCache.delete(G8.sessionId),G8.sessionId=Du6(),G8.sessionProjectDir=null,G8.sessionId}function Ca8(){return G8.parentSessionId}function Yf(q,K=null){if(G8.sessionId!==q)G8.planSlugCache.delete(G8.sessionId);G8.sessionId=q,G8.sessionProjectDir=K,ba8.emit(q)}function Z_6(){return G8.sessionProjectDir}function A7(){return G8.originalCwd}function wz(){return G8.projectRoot}function KS(q){G8.originalCwd=q.normalize(\"NFC\")}function fu6(q){G8.projectRoot=q.normalize(\"NFC\")}function BI(){return G8.cwd}function Ia8(q){G8.cwd=q.normalize(\"NFC\")}function ua8(){return G8.directConnectServerUrl}function W25(q){G8.directConnectServerUrl=q}function f25(){return G8.activeRoutine}function Z25(q){G8.activeRoutine=q}function ma8(q,K){G8.totalAPIDuration+=q,G8.totalAPIDurationWithoutRetries+=K}function G25(){G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalCostUSD=0}function Ba8(q,K,_){G8.modelUsage[_]=K,G8.totalCostUSD+=q}function XM(){return G8.totalCostUSD}function RG(){return G8.totalAPIDuration}function YD6(){return Date.now()-G8.startTime}function pa8(){return G8.totalAPIDurationWithoutRetries}function ga8(){return G8.totalToolDuration}function Nz8(q){G8.totalToolDuration+=q,G8.turnToolDurationMs+=q,G8.turnToolCount++}function v25(){return G8.turnHookDurationMs}function yz8(q){G8.turnHookDurationMs+=q,G8.turnHookCount++}function Fa8(){G8.turnHookDurationMs=0,G8.turnHookCount=0}function T25(){return G8.turnHookCount}function V25(){return G8.turnToolDurationMs}function Ua8(){G8.turnToolDurationMs=0,G8.turnToolCount=0}function k25(){return G8.turnToolCount}function N25(){return G8.turnClassifierDurationMs}function Qa8(q){G8.turnClassifierDurationMs+=q,G8.turnClassifierCount++}function da8(){G8.turnClassifierDurationMs=0,G8.turnClassifierCount=0}function y25(){return G8.turnClassifierCount}function q66(){return G8.statsStore}function ca8(q){G8.statsStore=q}function G_6(q){if(q)qP7();else la8=!0}function na8(){if(la8)qP7()}function qP7(){G8.lastInteractionTime=Date.now(),la8=!1,ia8.emit()}function Ez8(q,K){G8.totalLinesAdded+=q,G8.totalLinesRemoved+=K}function v_6(){return G8.totalLinesAdded}function T_6(){return G8.totalLinesRemoved}function V_6(){return zD6(Object.values(G8.modelUsage),\"inputTokens\")}function el(){return zD6(Object.values(G8.modelUsage),\"outputTokens\")}function Zu6(){return zD6(Object.values(G8.modelUsage),\"cacheReadInputTokens\")}function Gu6(){return zD6(Object.values(G8.modelUsage),\"cacheCreationInputTokens\")}function oa8(){return zD6(Object.values(G8.modelUsage),\"webSearchRequests\")}function E25(){return el()-aa8}function L25(){return sa8}function h25(q){aa8=el(),sa8=q,Lz8=0}function R25(){return Lz8}function S25(){Lz8++}function hz8(){G8.hasUnknownModelCost=!0}function ta8(){return G8.hasUnknownModelCost}function vu6(){return G8.lastMainRequestId}function ea8(q){G8.lastMainRequestId=q}function qn(){return G8.lastApiCompletionTimestamp}function Tu6(q){G8.lastApiCompletionTimestamp=q}function K66(){G8.pendingPostCompaction=!0}function qs8(){let q=G8.pendingPostCompaction;return G8.pendingPostCompaction=!1,q}function _S(){return G8.lastInteractionTime}function Ks8(){if(kz8=!0,Wu6)clearTimeout(Wu6);Wu6=setTimeout(()=>{kz8=!1,Wu6=void 0},KP7),Wu6.unref?.()}function k_6(){return kz8}async function Vu6(){while(kz8)await new Promise((q)=>setTimeout(q,KP7).unref?.())}function ST(){return G8.modelUsage}function _s8(q){return G8.modelUsage[q]}function pI(){return G8.mainLoopModelOverride}function AD6(){return G8.initialMainLoopModel}function dP(q){G8.mainLoopModelOverride=q}function zs8(q){G8.initialMainLoopModel=q}function OW(){return G8.sdkBetas}function Ys8(q){G8.sdkBetas=q}function OD6(){G8.totalCostUSD=0,G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalToolDuration=0,G8.startTime=Date.now(),G8.totalLinesAdded=0,G8.totalLinesRemoved=0,G8.hasUnknownModelCost=!1,G8.modelUsage={},G8.promptId=null}function ku6({totalCostUSD:q,totalAPIDuration:K,totalAPIDurationWithoutRetries:_,totalToolDuration:z,totalLinesAdded:Y,totalLinesRemoved:A,lastDuration:O,modelUsage:$}){if(G8.totalCostUSD=q,G8.totalAPIDuration=K,G8.totalAPIDurationWithoutRetries=_,G8.totalToolDuration=z,G8.totalLinesAdded=Y,G8.totalLinesRemoved=A,$)G8.modelUsage=$;if(O)G8.startTime=Date.now()-O}function _P7(){throw Error(\"resetStateForTests can only be called in tests\")}function $D6(){return G8.modelStrings}function Nu6(q){G8.modelStrings=q}function C25(){G8.modelStrings=null}function As8(q,K){G8.meter=q,G8.sessionCounter=K(\"claude_code.session.count\",{description:\"Count of CLI sessions started\"}),G8.locCounter=K(\"claude_code.lines_of_code.count\",{description:\"Count of lines of code modified, with the 'type' attribute indicating whether lines were added or removed\"}),G8.prCounter=K(\"claude_code.pull_request.count\",{description:\"Number of pull requests created\"}),G8.commitCounter=K(\"claude_code.commit.count\",{description:\"Number of git commits created\"}),G8.costCounter=K(\"claude_code.cost.usage\",{description:\"Cost of the Claude Code session\",unit:\"USD\"}),G8.tokenCounter=K(\"claude_code.token.usage\",{description:\"Number of tokens used\",unit:\"tokens\"}),G8.codeEditToolDecisionCounter=K(\"claude_code.code_edit_tool.decision\",{description:\"Count of code editing tool permission decisions (accept/reject) for Edit, Write, and NotebookEdit tools\"}),G8.activeTimeCounter=K(\"claude_code.active_time.total\",{description:\"Total active time in seconds\",unit:\"s\"})}function b25(){return G8.meter}function Os8(){return G8.sessionCounter}function Rz8(){return G8.locCounter}function yu6(){return G8.prCounter}function $s8(){return G8.commitCounter}function ws8(){return G8.costCounter}function wD6(){return G8.tokenCounter}function Eu6(){return G8.codeEditToolDecisionCounter}function js8(){return G8.activeTimeCounter}function Lu6(){return G8.loggerProvider}function Sz8(q){G8.loggerProvider=q}function Hs8(){return G8.eventLogger}function Cz8(q){G8.eventLogger=q}function Js8(){return G8.meterProvider}function bz8(q){G8.meterProvider=q}function N_6(){return G8.tracerProvider}function xz8(q){G8.tracerProvider=q}function d7(){return!G8.isInteractive}function CT(){return G8.isInteractive}function Ms8(q){G8.isInteractive=q}function jD6(){return G8.clientType}function Xs8(q){G8.clientType=q}function vg(){return G8.sdkAgentProgressSummariesEnabled}function Ps8(q){G8.sdkAgentProgressSummariesEnabled=q}function SG(){return G8.kairosActive}function x25(q){G8.kairosActive=q}function Ds8(){return G8.strictToolResultPairing}function I25(q){G8.strictToolResultPairing=q}function Tg(){return G8.memoryToggledOff}function Ws8(q){G8.memoryToggledOff=q}function AL(){return G8.userMsgOptIn}function Vg(q){G8.userMsgOptIn=q}function u25(){return G8.sessionSource}function fs8(q){G8.sessionSource=q}function Iz8(){return G8.questionPreviewFormat}function uz8(q){G8.questionPreviewFormat=q}function mz8(){return G8.agentColorMap}function _66(){return G8.flagSettingsPath}function Zs8(q){G8.flagSettingsPath=q}function HD6(){return G8.flagSettingsInline}function Gs8(q){G8.flagSettingsInline=q}function vs8(){return G8.sessionIngressToken}function y_6(q){G8.sessionIngressToken=q}function Ts8(){return G8.oauthTokenFromFd}function Vs8(q){G8.oauthTokenFromFd=q}function ks8(){return G8.apiKeyFromFd}function Ns8(q){G8.apiKeyFromFd=q}function ys8(q){G8.lastAPIRequest=q}function Es8(){return G8.lastAPIRequest}function Ls8(q){G8.lastAPIRequestMessages=q}function m25(){return G8.lastAPIRequestMessages}function hu6(q){G8.lastClassifierRequests=q}function zP7(){return G8.lastClassifierRequests}function hs8(q){G8.cachedClaudeMdContent=q}function Rs8(){return G8.cachedClaudeMdContent}function B25(q){if(G8.inMemoryErrorLog.length>=100)G8.inMemoryErrorLog.shift();G8.inMemoryErrorLog.push(q)}function Ss8(){return G8.allowedSettingSources}function Cs8(q){G8.allowedSettingSources=q}function Ru6(){return d7()&&G8.clientType!==\"claude-vscode\"}function bs8(q){G8.inlinePlugins=q}function kg(){return G8.inlinePlugins}function xs8(q){G8.chromeFlagOverride=q}function Su6(){return G8.chromeFlagOverride}function OL(q){G8.useCoworkPlugins=q,AW()}function Cu6(){return G8.useCoworkPlugins}function Is8(q){G8.sessionBypassPermissionsMode=q}function E_6(){return G8.sessionBypassPermissionsMode}function bu6(q){G8.scheduledTasksEnabled=q}function JD6(){return G8.scheduledTasksEnabled}function L_6(){return G8.sessionCronTasks}function us8(q){G8.sessionCronTasks.push(q)}function p25(q){return G8.loopChainStartedAt[q]}function g25(q,K){G8.loopChainStartedAt[q]=K}function F25(q){delete G8.loopChainStartedAt[q]}function xu6(q){if(q.length===0)return 0;let K=new Set(q),_=G8.sessionCronTasks.filter((Y)=>!K.has(Y.id)),z=G8.sessionCronTasks.length-_.length;if(z===0)return 0;return G8.sessionCronTasks=_,z}function Iu6(q){G8.sessionTrustAccepted=q}function MD6(){return G8.sessionTrustAccepted}function ms8(q){G8.sessionPersistenceDisabled=q}function ok(){return G8.sessionPersistenceDisabled}function uu6(){return G8.hasExitedPlanMode}function $L(q){G8.hasExitedPlanMode=q}function Bs8(){return G8.needsPlanModeExitAttachment}function gI(q){G8.needsPlanModeExitAttachment=q}function Kn(q,K){if(K===\"plan\"&&q!==\"plan\")G8.needsPlanModeExitAttachment=!1;if(q===\"plan\"&&K!==\"plan\")G8.needsPlanModeExitAttachment=!0}function ps8(){return G8.needsAutoModeExitAttachment}function CG(q){G8.needsAutoModeExitAttachment=q}function gs8(q,K){if(q===\"auto\"&&K===\"plan\"||q===\"plan\"&&K===\"auto\")return;let _=q===\"auto\",z=K===\"auto\";if(z&&!_)G8.needsAutoModeExitAttachment=!1;if(_&&!z)G8.needsAutoModeExitAttachment=!0}function Fs8(){return G8.lspRecommendationShownThisSession}function Us8(q){G8.lspRecommendationShownThisSession=q}function Qs8(q){G8.initJsonSchema=q}function Bz8(){return G8.initJsonSchema}function z66(q){if(!G8.registeredHooks)G8.registeredHooks={};for(let[K,_]of Object.entries(q)){let z=K;if(!G8.registeredHooks[z])G8.registeredHooks[z]=[];G8.registeredHooks[z].push(..._)}}function zS(){return G8.registeredHooks}function U25(){G8.registeredHooks=null}function pz8(){if(!G8.registeredHooks)return;let q={};for(let[K,_]of Object.entries(G8.registeredHooks)){let z=_.filter((Y)=>!(\"pluginRoot\"in Y));if(z.length>0)q[K]=z}G8.registeredHooks=Object.keys(q).length>0?q:null}function YP7(){G8.initJsonSchema=null,G8.registeredHooks=null}function h_6(){return G8.planSlugCache}function mu6(){return G8.sessionCreatedTeams}function Bu6(q){G8.teleportedSessionInfo={isTeleported:!0,hasLoggedFirstMessage:!1,sessionId:q.sessionId}}function gz8(){return G8.teleportedSessionInfo}function Fz8(){if(G8.teleportedSessionInfo)G8.teleportedSessionInfo.hasLoggedFirstMessage=!0}function XD6(q,K,_,z=null){let Y=`${z??\"\"}:${q}`;G8.invokedSkills.set(Y,{skillName:q,skillPath:K,content:_,invokedAt:Date.now(),agentId:z})}function Q25(){return G8.invokedSkills}function ds8(q){let K=q??null,_=new Map;for(let[z,Y]of G8.invokedSkills)if(Y.agentId===K)_.set(z,Y);return _}function cs8(q){if(!q||q.size===0){G8.invokedSkills.clear();return}for(let[K,_]of G8.invokedSkills)if(_.agentId===null||!q.has(_.agentId))G8.invokedSkills.delete(K)}function Y66(q){for(let[K,_]of G8.invokedSkills)if(_.agentId===q)G8.invokedSkills.delete(K)}function AP7(q,K){return}function OP7(){if(G8.slowOperations.length===0)return tX7;let q=Date.now();if(G8.slowOperations.some((K)=>q-K.timestamp>=Ra8)){if(G8.slowOperations=G8.slowOperations.filter((K)=>q-K.timestamp<Ra8),G8.slowOperations.length===0)return tX7}return G8.slowOperations}function Ng(){return G8.mainThreadAgentType}function _n(q){G8.mainThreadAgentType=q}function cK(){return G8.isRemoteMode}function ls8(q){G8.isRemoteMode=q}function ns8(){return G8.systemPromptSectionCache}function is8(q,K){G8.systemPromptSectionCache.set(q,K)}function rs8(){G8.systemPromptSectionCache.clear()}function os8(){return G8.lastEmittedDate}function PD6(q){G8.lastEmittedDate=q}function bG(){return G8.additionalDirectoriesForClaudeMd}function pu6(q){G8.additionalDirectoriesForClaudeMd=q}function TJ(){return G8.allowedChannels}function zn(q){G8.allowedChannels=q}function Uz8(){return G8.hasDevChannels}function Qz8(q){G8.hasDevChannels=q}function as8(){return G8.promptCache1hAllowlist}function ss8(q){G8.promptCache1hAllowlist=q}function ts8(){return G8.afkModeHeaderLatched}function es8(q){G8.afkModeHeaderLatched=q}function qt8(){return G8.fastModeHeaderLatched}function Kt8(q){G8.fastModeHeaderLatched=q}function _t8(){return G8.cacheEditingHeaderLatched}function d25(q){G8.cacheEditingHeaderLatched=q}function zt8(){return G8.thinkingClearLatched}function Yt8(q){G8.thinkingClearLatched=q}function At8(){G8.afkModeHeaderLatched=null,G8.fastModeHeaderLatched=null,G8.cacheEditingHeaderLatched=null,G8.thinkingClearLatched=null}function gu6(){return G8.promptId}function Fu6(q){G8.promptId=q}var G8,ba8,xa8,la8=!1,ia8,ra8,aa8=0,sa8=null,Lz8=0,kz8=!1,Wu6,KP7=150,sX7=10,Ra8=1e4,tX7;var v8=L(()=>{UX7();ya8();tl();G8=eX7();ba8=E9(),xa8=ba8.subscribe;ia8=E9(),ra8=ia8.subscribe;tX7=[]});function dz8(q){let K;for(let _ in q)if(_.startsWith(\"_PROTO_\")){if(K===void 0)K={...q};delete K[_]}return K??q}function $P7(q){if(A66!==null)return;if(A66=q,Uu6.length>0){let K=[...Uu6];Uu6.length=0,queueMicrotask(()=>{for(let _ of K)if(_.async)A66.logEventAsync(_.eventName,_.metadata);else A66.logEvent(_.eventName,_.metadata)})}}function d(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!1});return}A66.logEvent(q,K)}async function wP7(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!0});return}await A66.logEventAsync(q,K)}var Uu6,A66=null;var T8=L(()=>{Uu6=[]});function WD6({writeFn:q,flushIntervalMs:K=1000,maxBufferSize:_=100,maxBufferBytes:z=1/0,immediateMode:Y=!1}){let A=[],O=0,$=null,w=null;function j(){if($)clearTimeout($),$=null}function H(){if(w)q(w.join(\"\")),w=null;if(A.length===0)return;q(A.join(\"\")),A=[],O=0,j()}function J(){if(!$)$=setTimeout(H,K)}function M(){if(w){w.push(...A),A=[],O=0,j();return}let X=A;A=[],O=0,j(),w=X,setImmediate(()=>{let P=w;if(w=null,P)q(P.join(\"\"))})}return{write(X){if(Y){q(X);return}if(A.push(X),O+=X.length,J(),A.length>=_||O>=z)M()},flush:H,dispose(){H()}}}function gq(q){return Ot8.add(q),()=>Ot8.delete(q)}async function jP7(){await Promise.all(Array.from(Ot8).map((q)=>q()))}var Ot8;var o9=L(()=>{Ot8=new Set});function c25(q){let K=[],_=q.match(/^MCP server [\"']([^\"']+)[\"']/);if(_&&_[1])K.push(\"mcp\"),K.push(_[1].toLowerCase());else{let A=q.match(/^([^:[]+):/);if(A&&A[1])K.push(A[1].trim().toLowerCase())}let z=q.match(/^\\[([^\\]]+)]/);if(z&&z[1])K.push(z[1].trim().toLowerCase());if(q.toLowerCase().includes(\"1p event:\"))K.push(\"1p\");let Y=q.match(/:\\s*([^:]+?)(?:\\s+(?:type|mode|status|event))?:/);if(Y&&Y[1]){let A=Y[1].trim().toLowerCase();if(A.length<30&&!A.includes(\" \"))K.push(A)}return Array.from(new Set(K))}function l25(q,K){if(!K)return!0;if(q.length===0)return!1;if(K.isExclusive)return!q.some((_)=>K.exclude.includes(_));else return q.some((_)=>K.include.includes(_))}function JP7(q,K){if(!K)return!0;let _=c25(q);return l25(_,K)}var HP7;var MP7=L(()=>{h4();HP7=A1((q)=>{if(!q||q.trim()===\"\")return null;let K=q.split(\",\").map((A)=>A.trim()).filter(Boolean);if(K.length===0)return null;let _=K.some((A)=>A.startsWith(\"!\")),z=K.some((A)=>!A.startsWith(\"!\"));if(_&&z)return null;let Y=K.map((A)=>A.replace(/^!/,\"\").toLowerCase());return{include:_?[]:Y,exclude:_?Y:[],isExclusive:_}})});import{homedir as n25}from\"os\";import{join as XP7}from\"path\";function fD6(){return XP7(O7(),\"teams\")}function ZD6(q){let K=process.env.NODE_OPTIONS;if(!K)return!1;return K.split(/\\s+/).includes(q)}function Yn(q,K){if(q===void 0)return K;let _=parseInt(q,10);return Number.isNaN(_)?K:_}function B6(q){if(!q)return!1;if(typeof q===\"boolean\")return q;let K=q.toLowerCase().trim();return[\"1\",\"true\",\"yes\",\"on\"].includes(K)}function a9(q){if(q===void 0)return!1;if(typeof q===\"boolean\")return!q;if(!q)return!1;let K=q.toLowerCase().trim();return[\"0\",\"false\",\"no\",\"off\"].includes(K)}function D9(){return B6(process.env.CLAUDE_CODE_SIMPLE)||process.argv.includes(\"--bare\")}function PP7(q){let K={};if(q)for(let _ of q){let[z,...Y]=_.split(\"=\");if(!z||Y.length===0)throw Error(`Invalid environment variable format: ${_}, environment variables should be added as: -e KEY1=value1 -e KEY2=value2`);K[z]=Y.join(\"=\")}return K}function YS(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||\"us-east-1\"}function cz8(){return process.env.CLOUD_ML_REGION||\"us-east5\"}function DP7(){return B6(process.env.CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR)}function Af(){return!1}function AS(){return!1}function WP7(){return{namespace:void 0,cluster:void 0}}function lz8(q){if(q){let K=i25.find(([_])=>q.startsWith(_));if(K)return process.env[K[1]]||cz8()}return cz8()}var O7,i25;var B8=L(()=>{h4();O7=A1(()=>{return(process.env.CLAUDE_CONFIG_DIR??XP7(n25(),\".claude\")).normalize(\"NFC\")},()=>process.env.CLAUDE_CONFIG_DIR);i25=[[\"claude-haiku-4-5\",\"VERTEX_REGION_CLAUDE_HAIKU_4_5\"],[\"claude-3-5-haiku\",\"VERTEX_REGION_CLAUDE_3_5_HAIKU\"],[\"claude-3-5-sonnet\",\"VERTEX_REGION_CLAUDE_3_5_SONNET\"],[\"claude-3-7-sonnet\",\"VERTEX_REGION_CLAUDE_3_7_SONNET\"],[\"claude-opus-4-6\",\"VERTEX_REGION_CLAUDE_4_6_OPUS\"],[\"claude-opus-4-1\",\"VERTEX_REGION_CLAUDE_4_1_OPUS\"],[\"claude-opus-4\",\"VERTEX_REGION_CLAUDE_4_0_OPUS\"],[\"claude-sonnet-4-6\",\"VERTEX_REGION_CLAUDE_4_6_SONNET\"],[\"claude-sonnet-4-5\",\"VERTEX_REGION_CLAUDE_4_5_SONNET\"],[\"claude-sonnet-4\",\"VERTEX_REGION_CLAUDE_4_0_SONNET\"]]});function $4(q,K,_,z,Y){if(z===\"m\")throw TypeError(\"Private method is not writable\");if(z===\"a\"&&!Y)throw TypeError(\"Private accessor was defined without a setter\");if(typeof K===\"function\"?q!==K||!Y:!K.has(q))throw TypeError(\"Cannot write private member to an object whose class did not declare it\");return z===\"a\"?Y.call(q,_):Y?Y.value=_:K.set(q,_),_}function u1(q,K,_,z){if(_===\"a\"&&!z)throw TypeError(\"Private accessor was defined without a getter\");if(typeof K===\"function\"?q!==K||!z:!K.has(q))throw TypeError(\"Cannot read private member from an object whose class did not declare it\");return _===\"m\"?z:_===\"a\"?z.call(q):z?z.value:K.get(q)}var An=()=>{};var $t8=function(){let{crypto:q}=globalThis;if(q?.randomUUID)return $t8=q.randomUUID.bind(q),q.randomUUID();let K=new Uint8Array(1),_=q?()=>q.getRandomValues(K)[0]:()=>Math.random()*255&255;return\"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,(z)=>(+z^_()&15>>+z/4).toString(16))};function On(q){return typeof q===\"object\"&&q!==null&&((\"name\"in q)&&q.name===\"AbortError\"||(\"message\"in q)&&String(q.message).includes(\"FetchRequestCanceledException\"))}var Qu6=(q)=>{if(q instanceof Error)return q;if(typeof q===\"object\"&&q!==null){try{if(Object.prototype.toString.call(q)===\"[object Error]\"){let K=Error(q.message,q.cause?{cause:q.cause}:{});if(q.stack)K.stack=q.stack;if(q.cause&&!K.cause)K.cause=q.cause;if(q.name)K.name=q.name;return K}}catch{}try{return Error(JSON.stringify(q))}catch{}}return Error(q)};var vq,dq,c_,Of,yg,du6,R_6,cu6,S_6,lu6,nu6,iu6,ru6;var $W=L(()=>{vq=class vq extends Error{};dq=class dq extends vq{constructor(q,K,_,z,Y){super(`${dq.makeMessage(q,K,_)}`);this.status=q,this.headers=z,this.requestID=z?.get(\"request-id\"),this.error=K,this.type=Y??null}static makeMessage(q,K,_){let z=K?.message?typeof K.message===\"string\"?K.message:JSON.stringify(K.message):K?JSON.stringify(K):_;if(q&&z)return`${q} ${z}`;if(q)return`${q} status code (no body)`;if(z)return z;return\"(no status code or body)\"}static generate(q,K,_,z){if(!q||!z)return new Of({message:_,cause:Qu6(K)});let Y=K,A=Y?.error?.type;if(q===400)return new du6(q,Y,_,z,A);if(q===401)return new R_6(q,Y,_,z,A);if(q===403)return new cu6(q,Y,_,z,A);if(q===404)return new S_6(q,Y,_,z,A);if(q===409)return new lu6(q,Y,_,z,A);if(q===422)return new nu6(q,Y,_,z,A);if(q===429)return new iu6(q,Y,_,z,A);if(q>=500)return new ru6(q,Y,_,z,A);return new dq(q,Y,_,z,A)}};c_=class c_ extends dq{constructor({message:q}={}){super(void 0,void 0,q||\"Request was aborted.\",void 0)}};Of=class Of extends dq{constructor({message:q,cause:K}){super(void 0,void 0,q||\"Connection error.\",void 0);if(K)this.cause=K}};yg=class yg extends Of{constructor({message:q}={}){super({message:q??\"Request timed out.\"})}};du6=class du6 extends dq{};R_6=class R_6 extends dq{};cu6=class cu6 extends dq{};S_6=class S_6 extends dq{};lu6=class lu6 extends dq{};nu6=class nu6 extends dq{};iu6=class iu6 extends dq{};ru6=class ru6 extends dq{}});function nz8(q){if(typeof q!==\"object\")return{};return q??{}}function Ht8(q){if(!q)return!0;for(let K in q)return!1;return!0}function ZP7(q,K){return Object.prototype.hasOwnProperty.call(q,K)}var o25,fP7=(q)=>{return o25.test(q)},wt8=(q)=>(wt8=Array.isArray,wt8(q)),jt8,GP7=(q,K)=>{if(typeof K!==\"number\"||!Number.isInteger(K))throw new vq(`${q} must be an integer`);if(K<0)throw new vq(`${q} must be a positive integer`);return K},iz8=(q)=>{try{return JSON.parse(q)}catch(K){return}};var C_6=L(()=>{$W();o25=/^[a-z][a-z0-9+.-]*:/i,jt8=wt8});var vP7=(q)=>new Promise((K)=>setTimeout(K,q));var O66=\"0.81.0\";function a25(){if(typeof Deno<\"u\"&&Deno.build!=null)return\"deno\";if(typeof EdgeRuntime<\"u\")return\"edge\";if(Object.prototype.toString.call(typeof globalThis.process<\"u\"?globalThis.process:0)===\"[object process]\")return\"node\";return\"unknown\"}function t25(){if(typeof navigator>\"u\"||!navigator)return null;let q=[{key:\"edge\",pattern:/Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"chrome\",pattern:/Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"firefox\",pattern:/Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"safari\",pattern:/(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/}];for(let{key:K,pattern:_}of q){let z=_.exec(navigator.userAgent);if(z){let Y=z[1]||0,A=z[2]||0,O=z[3]||0;return{browser:K,version:`${Y}.${A}.${O}`}}}return null}var NP7=()=>{return typeof window<\"u\"&&typeof window.document<\"u\"&&typeof navigator<\"u\"},s25=()=>{let q=a25();if(q===\"deno\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(Deno.build.os),\"X-Stainless-Arch\":TP7(Deno.build.arch),\"X-Stainless-Runtime\":\"deno\",\"X-Stainless-Runtime-Version\":typeof Deno.version===\"string\"?Deno.version:Deno.version?.deno??\"unknown\"};if(typeof EdgeRuntime<\"u\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":`other:${EdgeRuntime}`,\"X-Stainless-Runtime\":\"edge\",\"X-Stainless-Runtime-Version\":globalThis.process.version};if(q===\"node\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(globalThis.process.platform??\"unknown\"),\"X-Stainless-Arch\":TP7(globalThis.process.arch??\"unknown\"),\"X-Stainless-Runtime\":\"node\",\"X-Stainless-Runtime-Version\":globalThis.process.version??\"unknown\"};let K=t25();if(K)return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":`browser:${K.browser}`,\"X-Stainless-Runtime-Version\":K.version};return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":\"unknown\",\"X-Stainless-Runtime-Version\":\"unknown\"}},TP7=(q)=>{if(q===\"x32\")return\"x32\";if(q===\"x86_64\"||q===\"x64\")return\"x64\";if(q===\"arm\")return\"arm\";if(q===\"aarch64\"||q===\"arm64\")return\"arm64\";if(q)return`other:${q}`;return\"unknown\"},VP7=(q)=>{if(q=q.toLowerCase(),q.includes(\"ios\"))return\"iOS\";if(q===\"android\")return\"Android\";if(q===\"darwin\")return\"MacOS\";if(q===\"win32\")return\"Windows\";if(q===\"freebsd\")return\"FreeBSD\";if(q===\"openbsd\")return\"OpenBSD\";if(q===\"linux\")return\"Linux\";if(q)return`Other:${q}`;return\"Unknown\"},kP7,yP7=()=>{return kP7??(kP7=s25())};var Jt8=()=>{};function EP7(){if(typeof fetch<\"u\")return fetch;throw Error(\"`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`\")}function Mt8(...q){let K=globalThis.ReadableStream;if(typeof K>\"u\")throw Error(\"`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`\");return new K(...q)}function rz8(q){let K=Symbol.asyncIterator in q?q[Symbol.asyncIterator]():q[Symbol.iterator]();return Mt8({start(){},async pull(_){let{done:z,value:Y}=await K.next();if(z)_.close();else _.enqueue(Y)},async cancel(){await K.return?.()}})}function ou6(q){if(q[Symbol.asyncIterator])return q;let K=q.getReader();return{async next(){try{let _=await K.read();if(_?.done)K.releaseLock();return _}catch(_){throw K.releaseLock(),_}},async return(){let _=K.cancel();return K.releaseLock(),await _,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function LP7(q){if(q===null||typeof q!==\"object\")return;if(q[Symbol.asyncIterator]){await q[Symbol.asyncIterator]().return?.();return}let K=q.getReader(),_=K.cancel();K.releaseLock(),await _}var hP7=({headers:q,body:K})=>{return{bodyHeaders:{\"content-type\":\"application/json\"},body:JSON.stringify(K)}};function RP7(q){return Object.entries(q).filter(([K,_])=>typeof _<\"u\").map(([K,_])=>{if(typeof _===\"string\"||typeof _===\"number\"||typeof _===\"boolean\")return`${encodeURIComponent(K)}=${encodeURIComponent(_)}`;if(_===null)return`${encodeURIComponent(K)}=`;throw new vq(`Cannot stringify type ${typeof _}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(\"&\")}var SP7=L(()=>{$W()});function xP7(q){let K=0;for(let Y of q)K+=Y.length;let _=new Uint8Array(K),z=0;for(let Y of q)_.set(Y,z),z+=Y.length;return _}function au6(q){let K;return(CP7??(K=new globalThis.TextEncoder,CP7=K.encode.bind(K)))(q)}function Xt8(q){let K;return(bP7??(K=new globalThis.TextDecoder,bP7=K.decode.bind(K)))(q)}var CP7,bP7;class $66{constructor(){wL.set(this,void 0),jL.set(this,void 0),$4(this,wL,new Uint8Array,\"f\"),$4(this,jL,null,\"f\")}decode(q){if(q==null)return[];let K=q instanceof ArrayBuffer?new Uint8Array(q):typeof q===\"string\"?au6(q):q;$4(this,wL,xP7([u1(this,wL,\"f\"),K]),\"f\");let _=[],z;while((z=Kj5(u1(this,wL,\"f\"),u1(this,jL,\"f\")))!=null){if(z.carriage&&u1(this,jL,\"f\")==null){$4(this,jL,z.index,\"f\");continue}if(u1(this,jL,\"f\")!=null&&(z.index!==u1(this,jL,\"f\")+1||z.carriage)){_.push(Xt8(u1(this,wL,\"f\").subarray(0,u1(this,jL,\"f\")-1))),$4(this,wL,u1(this,wL,\"f\").subarray(u1(this,jL,\"f\")),\"f\"),$4(this,jL,null,\"f\");continue}let Y=u1(this,jL,\"f\")!==null?z.preceding-1:z.preceding,A=Xt8(u1(this,wL,\"f\").subarray(0,Y));_.push(A),$4(this,wL,u1(this,wL,\"f\").subarray(z.index),\"f\"),$4(this,jL,null,\"f\")}return _}flush(){if(!u1(this,wL,\"f\").length)return[];return this.decode(`\n ^^^\n\nSyntaxError: Unexpected token '??='\n at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)\n at async link (internal/modules/esm/module_job.js:47:21)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\nzsh: command not found: sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ source ~/.zprofile\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status \n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-12T11:37:49+03:00\",\n \"uptime\": 3159.889531958,\n \"fps\": 0.13797950706518405,\n \"frames\": 436\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude\nfile:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8\nimport{createRequire as MA5}from\"node:module\";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q===\"object\";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,\"default\",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},\"__esModule\",{value:!0}),q&&typeof q===\"object\"||typeof q===\"function\"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for(\"Symbol.dispose\"),PA5=Symbol.asyncDispose||Symbol.for(\"Symbol.asyncDispose\"),lz=(q,K,_)=>{if(K!=null){if(typeof K!==\"object\"&&typeof K!==\"function\")throw TypeError('Object expected to be assigned to \"using\" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!==\"function\")throw TypeError(\"Object not disposable\");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError===\"function\"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name=\"SuppressedError\",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,\"An error was suppressed during disposal\"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global==\"object\"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self==\"object\"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function(\"return this\")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5=\"[object Null]\",gA5=\"[object Undefined]\",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K==\"object\"||K==\"function\")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5=\"[object AsyncFunction]\",dA5=\"[object Function]\",cA5=\"[object GeneratorFunction]\",lA5=\"[object Proxy]\",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ[\"__core-js_shared__\"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||\"\");return q?\"Symbol(src)_1.\"+q:\"\"}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+\"\"}catch(K){}}return\"\"}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\\\^$.*+?()[\\]{}|]/g,eA5=/^\\[object .+?Constructor\\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp(\"^\"+_O5.call(zO5).replace(tA5,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,\"Map\"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,\"create\"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5=\"__lodash_hash_undefined__\",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5=\"__lodash_hash_undefined__\",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K==\"string\"||K==\"number\"||K==\"symbol\"||K==\"boolean\"?q!==\"__proto__\":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K==\"string\"?\"string\":\"hash\"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5=\"__lodash_hash_undefined__\",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+\"\";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5=\"[object Boolean]\",cO5=\"[object Date]\",lO5=\"[object Error]\",nO5=\"[object Map]\",iO5=\"[object Number]\",rO5=\"[object RegExp]\",oO5=\"[object Set]\",aO5=\"[object String]\",sO5=\"[object Symbol]\",tO5=\"[object ArrayBuffer]\",eO5=\"[object DataView]\",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q==\"object\"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5=\"[object Arguments]\",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,\"callee\")&&!P$5.call(q,\"callee\")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8==\"object\"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8==\"object\"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_==\"number\"||_!=\"symbol\"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=9007199254740991,T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\\d*)$/;re=V$5});function N$5(q){return typeof q==\"number\"&&q>-1&&q%1==0&&q<=k$5}var k$5=9007199254740991,rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5=\"[object Arguments]\",E$5=\"[object Array]\",L$5=\"[object Boolean]\",h$5=\"[object Date]\",R$5=\"[object Error]\",S$5=\"[object Function]\",C$5=\"[object Map]\",b$5=\"[object Number]\",x$5=\"[object Object]\",I$5=\"[object RegExp]\",u$5=\"[object Set]\",m$5=\"[object String]\",B$5=\"[object WeakMap]\",p$5=\"[object ArrayBuffer]\",g$5=\"[object DataView]\",F$5=\"[object Float32Array]\",U$5=\"[object Float64Array]\",Q$5=\"[object Int8Array]\",d$5=\"[object Int16Array]\",c$5=\"[object Int32Array]\",l$5=\"[object Uint8Array]\",n$5=\"[object Uint8ClampedArray]\",i$5=\"[object Uint16Array]\",r$5=\"[object Uint32Array]\",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8==\"object\"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8==\"object\"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require(\"util\").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding(\"util\")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j==\"length\"||Y&&(j==\"offset\"||j==\"parent\")||A&&(j==\"buffer\"||j==\"byteLength\"||j==\"byteOffset\")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K==\"function\"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!=\"constructor\")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M==\"constructor\")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&((\"constructor\"in q)&&(\"constructor\"in K))&&!(typeof v==\"function\"&&v instanceof v&&typeof V==\"function\"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,\"DataView\"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,\"Promise\"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,\"Set\"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,\"WeakMap\"),Xz8=vw5});var sM7=\"[object Map]\",Tw5=\"[object Object]\",tM7=\"[object Promise]\",eM7=\"[object Set]\",qX7=\"[object WeakMap]\",KX7=\"[object DataView]\",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();Q_8();oM7();Ta8();aM7();M_6();Oa8();Vw5=rl(Jz8),kw5=rl(ne),Nw5=rl(Mz8),yw5=rl(oe),Ew5=rl(Xz8),D_6=YL;if(Jz8&&D_6(new Jz8(new ArrayBuffer(1)))!=KX7||ne&&D_6(new ne)!=sM7||Mz8&&D_6(Mz8.resolve())!=tM7||oe&&D_6(new oe)!=eM7||Xz8&&D_6(new Xz8)!=qX7)D_6=function(q){var K=YL(q),_=K==Tw5?q.constructor:void 0,z=_?rl(_):\"\";if(z)switch(z){case Vw5:return KX7;case kw5:return sM7;case Nw5:return tM7;case yw5:return eM7;case Ew5:return qX7}return K};sl=D_6});function Rw5(q,K,_,z,Y,A){var O=DO(q),$=DO(K),w=O?zX7:sl(q),j=$?zX7:sl(K);w=w==_X7?Pz8:w,j=j==_X7?Pz8:j;var H=w==Pz8,J=j==Pz8,M=w==j;if(M&&fg(q)){if(!fg(K))return!1;O=!0,H=!1}if(M&&!H)return A||(A=new Dg),O||aP6(q)?i_8(q,K,_,z,Y,A):EM7(q,K,w,_,z,Y,A);if(!(_&Lw5)){var X=H&&YX7.call(q,\"__wrapped__\"),P=J&&YX7.call(K,\"__wrapped__\");if(X||P){var D=X?q.value():q,W=P?K.value():K;return A||(A=new Dg),Y(D,W,_,z,A)}}if(!M)return!1;return A||(A=new Dg),nM7(q,K,_,z,Y,A)}var Lw5=1,_X7=\"[object Arguments]\",zX7=\"[object Array]\",Pz8=\"[object Object]\",hw5,YX7,AX7;var OX7=L(()=>{Au6();Ha8();LM7();iM7();Ju6();RT();$u6();$z8();hw5=Object.prototype,YX7=hw5.hasOwnProperty;AX7=Rw5});function $X7(q,K,_,z,Y){if(q===K)return!0;if(q==null||K==null||!QP(q)&&!QP(K))return q!==q&&K!==K;return AX7(q,K,_,z,$X7,Y)}var eP6;var Dz8=L(()=>{OX7();Wg();eP6=$X7});function bw5(q,K,_,z){var Y=_.length,A=Y,O=!z;if(q==null)return!A;q=Object(q);while(Y--){var $=_[Y];if(O&&$[2]?$[1]!==q[$[0]]:!($[0]in q))return!1}while(++Y<A){$=_[Y];var w=$[0],j=q[w],H=$[1];if(O&&$[2]){if(j===void 0&&!(w in q))return!1}else{var J=new Dg;if(z)var M=z(j,H,w,q,K,J);if(!(M===void 0?eP6(H,j,Sw5|Cw5,z,J):M))return!1}}return!0}var Sw5=1,Cw5=2,wX7;var jX7=L(()=>{Au6();Dz8();wX7=bw5});function xw5(q){return q===q&&!PO(q)}var Wz8;var Va8=L(()=>{hT();Wz8=xw5});function Iw5(q){var K=tR(q),_=K.length;while(_--){var z=K[_],Y=q[z];K[_]=[z,Y,Wz8(Y)]}return K}var HX7;var JX7=L(()=>{Va8();P_6();HX7=Iw5});function uw5(q,K){return function(_){if(_==null)return!1;return _[q]===K&&(K!==void 0||(q in Object(_)))}}var fz8;var ka8=L(()=>{fz8=uw5});function mw5(q){var K=HX7(q);if(K.length==1&&K[0][2])return fz8(K[0][0],K[0][1]);return function(_){return _===q||wX7(_,q,K)}}var MX7;var XX7=L(()=>{jX7();JX7();ka8();MX7=mw5});function pw5(q){return typeof q==\"symbol\"||QP(q)&&YL(q)==Bw5}var Bw5=\"[object Symbol]\",ae;var Mu6=L(()=>{M_6();Wg();ae=pw5});function Uw5(q,K){if(DO(q))return!1;var _=typeof q;if(_==\"number\"||_==\"symbol\"||_==\"boolean\"||q==null||ae(q))return!0;return Fw5.test(q)||!gw5.test(q)||K!=null&&q in Object(K)}var gw5,Fw5,qD6;var Zz8=L(()=>{RT();Mu6();gw5=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Fw5=/^\\w*$/;qD6=Uw5});function Na8(q,K){if(typeof q!=\"function\"||K!=null&&typeof K!=\"function\")throw TypeError(Qw5);var _=function(){var z=arguments,Y=K?K.apply(this,z):z[0],A=_.cache;if(A.has(Y))return A.get(Y);var O=q.apply(this,z);return _.cache=A.set(Y,O)||A,O};return _.cache=new(Na8.Cache||X_6),_}var Qw5=\"Expected a function\",A1;var h4=L(()=>{d_8();Na8.Cache=X_6;A1=Na8});function cw5(q){var K=A1(q,function(z){if(_.size===dw5)_.clear();return z}),_=K.cache;return K}var dw5=500,PX7;var DX7=L(()=>{h4();PX7=cw5});var lw5,nw5,iw5,WX7;var fX7=L(()=>{DX7();lw5=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,nw5=/\\\\(\\\\)?/g,iw5=PX7(function(q){var K=[];if(q.charCodeAt(0)===46)K.push(\"\");return q.replace(lw5,function(_,z,Y,A){K.push(Y?A.replace(nw5,\"$1\"):z||_)}),K}),WX7=iw5});function rw5(q,K){var _=-1,z=q==null?0:q.length,Y=Array(z);while(++_<z)Y[_]=K(q[_],_,q);return Y}var se;var Xu6=L(()=>{se=rw5});function vX7(q){if(typeof q==\"string\")return q;if(DO(q))return se(q,vX7)+\"\";if(ae(q))return GX7?GX7.call(q):\"\";var K=q+\"\";return K==\"0\"&&1/q==-ow5?\"-0\":K}var ow5=1/0,ZX7,GX7,TX7;var VX7=L(()=>{J_6();Xu6();RT();Mu6();ZX7=YW?YW.prototype:void 0,GX7=ZX7?ZX7.toString:void 0;TX7=vX7});function aw5(q){return q==null?\"\":TX7(q)}var KD6;var Gz8=L(()=>{VX7();KD6=aw5});function sw5(q,K){if(DO(q))return q;return qD6(q,K)?[q]:WX7(KD6(q))}var eR;var W_6=L(()=>{RT();Zz8();fX7();Gz8();eR=sw5});function ew5(q){if(typeof q==\"string\"||ae(q))return q;var K=q+\"\";return K==\"0\"&&1/q==-tw5?\"-0\":K}var tw5=1/0,qS;var f_6=L(()=>{Mu6();qS=ew5});function q25(q,K){K=eR(K,q);var _=0,z=K.length;while(q!=null&&_<z)q=q[qS(K[_++])];return _&&_==z?q:void 0}var te;var Pu6=L(()=>{W_6();f_6();te=q25});function K25(q,K,_){var z=q==null?void 0:te(q,K);return z===void 0?_:z}var kX7;var NX7=L(()=>{Pu6();kX7=K25});function _25(q,K){return q!=null&&K in Object(q)}var yX7;var EX7=L(()=>{yX7=_25});function z25(q,K,_){K=eR(K,q);var z=-1,Y=K.length,A=!1;while(++z<Y){var O=qS(K[z]);if(!(A=q!=null&&_(q,O)))break;q=q[O]}if(A||++z!=Y)return A;return Y=q==null?0:q.length,!!Y&&rP6(Y)&&re(O,Y)&&(DO(q)||al(q))}var LX7;var hX7=L(()=>{W_6();Ou6();RT();wu6();_z8();f_6();LX7=z25});function Y25(q,K){return q!=null&&LX7(q,K,yX7)}var RX7;var SX7=L(()=>{EX7();hX7();RX7=Y25});function $25(q,K){if(qD6(q)&&Wz8(K))return fz8(qS(q),K);return function(_){var z=kX7(_,q);return z===void 0&&z===K?RX7(_,q):eP6(K,z,A25|O25)}}var A25=1,O25=2,CX7;var bX7=L(()=>{Dz8();NX7();SX7();Zz8();Va8();ka8();f_6();CX7=$25});function w25(q){return q}var _D6;var vz8=L(()=>{_D6=w25});function j25(q){return function(K){return K==null?void 0:K[q]}}var xX7;var IX7=L(()=>{xX7=j25});function H25(q){return function(K){return te(K,q)}}var uX7;var mX7=L(()=>{Pu6();uX7=H25});function J25(q){return qD6(q)?xX7(qS(q)):uX7(q)}var BX7;var pX7=L(()=>{IX7();mX7();Zz8();f_6();BX7=J25});function M25(q){if(typeof q==\"function\")return q;if(q==null)return _D6;if(typeof q==\"object\")return DO(q)?CX7(q[0],q[1]):MX7(q);return BX7(q)}var rk;var ee=L(()=>{XX7();bX7();vz8();RT();pX7();rk=M25});function X25(q,K){var _,z=-1,Y=q.length;while(++z<Y){var A=K(q[z]);if(A!==void 0)_=_===void 0?A:_+A}return _}var gX7;var FX7=L(()=>{gX7=X25});function P25(q,K){return q&&q.length?gX7(q,rk(K,2)):0}var zD6;var UX7=L(()=>{ee();FX7();zD6=P25});import{randomUUID as Du6}from\"crypto\";var ya8=()=>{};function QX7(){return Ea8}function dX7(q){Ea8=q}function cX7(q){return Tz8.has(q)?Tz8.get(q):void 0}function lX7(q,K){Tz8.set(q,K)}function nX7(q){return La8.get(q)}function iX7(q,K){La8.set(q,K)}function AW(){Ea8=null,Tz8.clear(),La8.clear()}function Vz8(){return ha8}function rX7(q){ha8=q}function oX7(){ha8=void 0}var Ea8=null,Tz8,La8,ha8;var tl=L(()=>{Tz8=new Map;La8=new Map});function E9(){let q=new Set;return{subscribe(K){return q.add(K),()=>{q.delete(K)}},emit(...K){for(let _ of q)_(...K)},clear(){q.clear()}}}var DD6={};f8(DD6,{waitForScrollIdle:()=>Vu6,updateLastInteractionTime:()=>G_6,switchSession:()=>Yf,snapshotOutputTokensForTurn:()=>h25,setUserMsgOptIn:()=>Vg,setUseCoworkPlugins:()=>OL,setTracerProvider:()=>xz8,setThinkingClearLatched:()=>Yt8,setTeleportedSessionInfo:()=>Bu6,setSystemPromptSectionCacheEntry:()=>is8,setStrictToolResultPairing:()=>I25,setStatsStore:()=>ca8,setSessionTrustAccepted:()=>Iu6,setSessionSource:()=>fs8,setSessionPersistenceDisabled:()=>ms8,setSessionIngressToken:()=>y_6,setSessionBypassPermissionsMode:()=>Is8,setSdkBetas:()=>Ys8,setSdkAgentProgressSummariesEnabled:()=>Ps8,setScheduledTasksEnabled:()=>bu6,setQuestionPreviewFormat:()=>uz8,setPromptId:()=>Fu6,setPromptCache1hAllowlist:()=>ss8,setProjectRoot:()=>fu6,setOriginalCwd:()=>KS,setOauthTokenFromFd:()=>Vs8,setNeedsPlanModeExitAttachment:()=>gI,setNeedsAutoModeExitAttachment:()=>CG,setModelStrings:()=>Nu6,setMeterProvider:()=>bz8,setMeter:()=>As8,setMemoryToggledOff:()=>Ws8,setMainThreadAgentType:()=>_n,setMainLoopModelOverride:()=>dP,setLspRecommendationShownThisSession:()=>Us8,setLoopChainStartedAt:()=>g25,setLoggerProvider:()=>Sz8,setLastMainRequestId:()=>ea8,setLastEmittedDate:()=>PD6,setLastClassifierRequests:()=>hu6,setLastApiCompletionTimestamp:()=>Tu6,setLastAPIRequestMessages:()=>Ls8,setLastAPIRequest:()=>ys8,setKairosActive:()=>x25,setIsRemoteMode:()=>ls8,setIsInteractive:()=>Ms8,setInlinePlugins:()=>bs8,setInitialMainLoopModel:()=>zs8,setInitJsonSchema:()=>Qs8,setHasUnknownModelCost:()=>hz8,setHasExitedPlanMode:()=>$L,setHasDevChannels:()=>Qz8,setFlagSettingsPath:()=>Zs8,setFlagSettingsInline:()=>Gs8,setFastModeHeaderLatched:()=>Kt8,setEventLogger:()=>Cz8,setDirectConnectServerUrl:()=>W25,setCwdState:()=>Ia8,setCostStateForRestore:()=>ku6,setClientType:()=>Xs8,setChromeFlagOverride:()=>xs8,setCachedClaudeMdContent:()=>hs8,setCacheEditingHeaderLatched:()=>d25,setApiKeyFromFd:()=>Ns8,setAllowedSettingSources:()=>Cs8,setAllowedChannels:()=>zn,setAfkModeHeaderLatched:()=>es8,setAdditionalDirectoriesForClaudeMd:()=>pu6,setActiveRoutine:()=>Z25,resetTurnToolDuration:()=>Ua8,resetTurnHookDuration:()=>Fa8,resetTurnClassifierDuration:()=>da8,resetTotalDurationStateAndCost_FOR_TESTS_ONLY:()=>G25,resetStateForTests:()=>_P7,resetSdkInitState:()=>YP7,resetModelStringsForTestingOnly:()=>C25,resetCostState:()=>OD6,removeSessionCronTasks:()=>xu6,registerHookCallbacks:()=>z66,regenerateSessionId:()=>Sa8,preferThirdPartyAuthentication:()=>Ru6,onSessionSwitch:()=>xa8,onInteraction:()=>ra8,needsPlanModeExitAttachment:()=>Bs8,needsAutoModeExitAttachment:()=>ps8,markScrollActivity:()=>Ks8,markPostCompaction:()=>K66,markFirstTeleportMessageLogged:()=>Fz8,isSessionPersistenceDisabled:()=>ok,incrementBudgetContinuationCount:()=>S25,hasUnknownModelCost:()=>ta8,hasShownLspRecommendationThisSession:()=>Fs8,hasExitedPlanModeInSession:()=>uu6,handlePlanModeTransition:()=>Kn,handleAutoModeTransition:()=>gs8,getUserMsgOptIn:()=>AL,getUseCoworkPlugins:()=>Cu6,getUsageForModel:()=>_s8,getTurnToolDurationMs:()=>V25,getTurnToolCount:()=>k25,getTurnOutputTokens:()=>E25,getTurnHookDurationMs:()=>v25,getTurnHookCount:()=>T25,getTurnClassifierDurationMs:()=>N25,getTurnClassifierCount:()=>y25,getTracerProvider:()=>N_6,getTotalWebSearchRequests:()=>oa8,getTotalToolDuration:()=>ga8,getTotalOutputTokens:()=>el,getTotalLinesRemoved:()=>T_6,getTotalLinesAdded:()=>v_6,getTotalInputTokens:()=>V_6,getTotalDuration:()=>YD6,getTotalCostUSD:()=>XM,getTotalCacheReadInputTokens:()=>Zu6,getTotalCacheCreationInputTokens:()=>Gu6,getTotalAPIDurationWithoutRetries:()=>pa8,getTotalAPIDuration:()=>RG,getTokenCounter:()=>wD6,getThinkingClearLatched:()=>zt8,getTeleportedSessionInfo:()=>gz8,getSystemPromptSectionCache:()=>ns8,getStrictToolResultPairing:()=>Ds8,getStatsStore:()=>q66,getSlowOperations:()=>OP7,getSessionTrustAccepted:()=>MD6,getSessionSource:()=>u25,getSessionProjectDir:()=>Z_6,getSessionIngressToken:()=>vs8,getSessionId:()=>N8,getSessionCronTasks:()=>L_6,getSessionCreatedTeams:()=>mu6,getSessionCounter:()=>Os8,getSessionBypassPermissionsMode:()=>E_6,getSdkBetas:()=>OW,getSdkAgentProgressSummariesEnabled:()=>vg,getScheduledTasksEnabled:()=>JD6,getRegisteredHooks:()=>zS,getQuestionPreviewFormat:()=>Iz8,getPromptId:()=>gu6,getPromptCache1hAllowlist:()=>as8,getProjectRoot:()=>wz,getPrCounter:()=>yu6,getPlanSlugCache:()=>h_6,getParentSessionId:()=>Ca8,getOriginalCwd:()=>A7,getOauthTokenFromFd:()=>Ts8,getModelUsage:()=>ST,getModelStrings:()=>$D6,getMeterProvider:()=>Js8,getMeter:()=>b25,getMemoryToggledOff:()=>Tg,getMainThreadAgentType:()=>Ng,getMainLoopModelOverride:()=>pI,getLoopChainStartedAt:()=>p25,getLoggerProvider:()=>Lu6,getLocCounter:()=>Rz8,getLastMainRequestId:()=>vu6,getLastInteractionTime:()=>_S,getLastEmittedDate:()=>os8,getLastClassifierRequests:()=>zP7,getLastApiCompletionTimestamp:()=>qn,getLastAPIRequestMessages:()=>m25,getLastAPIRequest:()=>Es8,getKairosActive:()=>SG,getIsScrollDraining:()=>k_6,getIsRemoteMode:()=>cK,getIsNonInteractiveSession:()=>d7,getIsInteractive:()=>CT,getInvokedSkillsForAgent:()=>ds8,getInvokedSkills:()=>Q25,getInlinePlugins:()=>kg,getInitialMainLoopModel:()=>AD6,getInitJsonSchema:()=>Bz8,getHasDevChannels:()=>Uz8,getFlagSettingsPath:()=>_66,getFlagSettingsInline:()=>HD6,getFastModeHeaderLatched:()=>qt8,getEventLogger:()=>Hs8,getDirectConnectServerUrl:()=>ua8,getCwdState:()=>BI,getCurrentTurnTokenBudget:()=>L25,getCostCounter:()=>ws8,getCommitCounter:()=>$s8,getCodeEditToolDecisionCounter:()=>Eu6,getClientType:()=>jD6,getChromeFlagOverride:()=>Su6,getCachedClaudeMdContent:()=>Rs8,getCacheEditingHeaderLatched:()=>_t8,getBudgetContinuationCount:()=>R25,getApiKeyFromFd:()=>ks8,getAllowedSettingSources:()=>Ss8,getAllowedChannels:()=>TJ,getAgentColorMap:()=>mz8,getAfkModeHeaderLatched:()=>ts8,getAdditionalDirectoriesForClaudeMd:()=>bG,getActiveTimeCounter:()=>js8,getActiveRoutine:()=>f25,flushInteractionTime:()=>na8,deleteLoopChainStartedAt:()=>F25,consumePostCompaction:()=>qs8,clearSystemPromptSectionState:()=>rs8,clearRegisteredPluginHooks:()=>pz8,clearRegisteredHooks:()=>U25,clearInvokedSkillsForAgent:()=>Y66,clearInvokedSkills:()=>cs8,clearBetaHeaderLatches:()=>At8,addToTurnHookDuration:()=>yz8,addToTurnClassifierDuration:()=>Qa8,addToTotalLinesChanged:()=>Ez8,addToTotalDurationState:()=>ma8,addToTotalCostState:()=>Ba8,addToToolDuration:()=>Nz8,addToInMemoryErrorLog:()=>B25,addSlowOperation:()=>AP7,addSessionCronTask:()=>us8,addInvokedSkill:()=>XD6});import{realpathSync as aX7}from\"fs\";import{cwd as D25}from\"process\";function eX7(){let q=\"\";if(typeof process<\"u\"&&typeof process.cwd===\"function\"&&typeof aX7===\"function\"){let _=D25();try{q=aX7(_).normalize(\"NFC\")}catch{q=_.normalize(\"NFC\")}}return{originalCwd:q,projectRoot:q,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,turnHookDurationMs:0,turnToolDurationMs:0,turnClassifierDurationMs:0,turnToolCount:0,turnHookCount:0,turnClassifierCount:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:q,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,kairosActive:!1,strictToolResultPairing:!1,memoryToggledOff:!1,sdkAgentProgressSummariesEnabled:!1,userMsgOptIn:!1,clientType:\"cli\",sessionSource:void 0,questionPreviewFormat:void 0,sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,flagSettingsInline:null,allowedSettingSources:[\"userSettings\",\"projectSettings\",\"localSettings\",\"flagSettings\",\"policySettings\"],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,statsStore:null,sessionId:Du6(),parentSessionId:void 0,loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,lastAPIRequest:null,lastAPIRequestMessages:null,lastClassifierRequests:null,cachedClaudeMdContent:null,inMemoryErrorLog:[],inlinePlugins:[],chromeFlagOverride:void 0,useCoworkPlugins:!1,sessionBypassPermissionsMode:!1,scheduledTasksEnabled:!1,sessionCronTasks:[],loopChainStartedAt:Object.create(null),sessionCreatedTeams:new Set,sessionTrustAccepted:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,needsAutoModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map,slowOperations:[],sdkBetas:void 0,mainThreadAgentType:void 0,isRemoteMode:!1,...!1,directConnectServerUrl:void 0,activeRoutine:void 0,systemPromptSectionCache:new Map,lastEmittedDate:null,additionalDirectoriesForClaudeMd:[],allowedChannels:[],hasDevChannels:!1,sessionProjectDir:null,promptCache1hAllowlist:null,afkModeHeaderLatched:null,fastModeHeaderLatched:null,cacheEditingHeaderLatched:null,thinkingClearLatched:null,promptId:null,lastMainRequestId:void 0,lastApiCompletionTimestamp:null,pendingPostCompaction:!1}}function N8(){return G8.sessionId}function Sa8(q={}){if(q.setCurrentAsParent)G8.parentSessionId=G8.sessionId;return G8.planSlugCache.delete(G8.sessionId),G8.sessionId=Du6(),G8.sessionProjectDir=null,G8.sessionId}function Ca8(){return G8.parentSessionId}function Yf(q,K=null){if(G8.sessionId!==q)G8.planSlugCache.delete(G8.sessionId);G8.sessionId=q,G8.sessionProjectDir=K,ba8.emit(q)}function Z_6(){return G8.sessionProjectDir}function A7(){return G8.originalCwd}function wz(){return G8.projectRoot}function KS(q){G8.originalCwd=q.normalize(\"NFC\")}function fu6(q){G8.projectRoot=q.normalize(\"NFC\")}function BI(){return G8.cwd}function Ia8(q){G8.cwd=q.normalize(\"NFC\")}function ua8(){return G8.directConnectServerUrl}function W25(q){G8.directConnectServerUrl=q}function f25(){return G8.activeRoutine}function Z25(q){G8.activeRoutine=q}function ma8(q,K){G8.totalAPIDuration+=q,G8.totalAPIDurationWithoutRetries+=K}function G25(){G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalCostUSD=0}function Ba8(q,K,_){G8.modelUsage[_]=K,G8.totalCostUSD+=q}function XM(){return G8.totalCostUSD}function RG(){return G8.totalAPIDuration}function YD6(){return Date.now()-G8.startTime}function pa8(){return G8.totalAPIDurationWithoutRetries}function ga8(){return G8.totalToolDuration}function Nz8(q){G8.totalToolDuration+=q,G8.turnToolDurationMs+=q,G8.turnToolCount++}function v25(){return G8.turnHookDurationMs}function yz8(q){G8.turnHookDurationMs+=q,G8.turnHookCount++}function Fa8(){G8.turnHookDurationMs=0,G8.turnHookCount=0}function T25(){return G8.turnHookCount}function V25(){return G8.turnToolDurationMs}function Ua8(){G8.turnToolDurationMs=0,G8.turnToolCount=0}function k25(){return G8.turnToolCount}function N25(){return G8.turnClassifierDurationMs}function Qa8(q){G8.turnClassifierDurationMs+=q,G8.turnClassifierCount++}function da8(){G8.turnClassifierDurationMs=0,G8.turnClassifierCount=0}function y25(){return G8.turnClassifierCount}function q66(){return G8.statsStore}function ca8(q){G8.statsStore=q}function G_6(q){if(q)qP7();else la8=!0}function na8(){if(la8)qP7()}function qP7(){G8.lastInteractionTime=Date.now(),la8=!1,ia8.emit()}function Ez8(q,K){G8.totalLinesAdded+=q,G8.totalLinesRemoved+=K}function v_6(){return G8.totalLinesAdded}function T_6(){return G8.totalLinesRemoved}function V_6(){return zD6(Object.values(G8.modelUsage),\"inputTokens\")}function el(){return zD6(Object.values(G8.modelUsage),\"outputTokens\")}function Zu6(){return zD6(Object.values(G8.modelUsage),\"cacheReadInputTokens\")}function Gu6(){return zD6(Object.values(G8.modelUsage),\"cacheCreationInputTokens\")}function oa8(){return zD6(Object.values(G8.modelUsage),\"webSearchRequests\")}function E25(){return el()-aa8}function L25(){return sa8}function h25(q){aa8=el(),sa8=q,Lz8=0}function R25(){return Lz8}function S25(){Lz8++}function hz8(){G8.hasUnknownModelCost=!0}function ta8(){return G8.hasUnknownModelCost}function vu6(){return G8.lastMainRequestId}function ea8(q){G8.lastMainRequestId=q}function qn(){return G8.lastApiCompletionTimestamp}function Tu6(q){G8.lastApiCompletionTimestamp=q}function K66(){G8.pendingPostCompaction=!0}function qs8(){let q=G8.pendingPostCompaction;return G8.pendingPostCompaction=!1,q}function _S(){return G8.lastInteractionTime}function Ks8(){if(kz8=!0,Wu6)clearTimeout(Wu6);Wu6=setTimeout(()=>{kz8=!1,Wu6=void 0},KP7),Wu6.unref?.()}function k_6(){return kz8}async function Vu6(){while(kz8)await new Promise((q)=>setTimeout(q,KP7).unref?.())}function ST(){return G8.modelUsage}function _s8(q){return G8.modelUsage[q]}function pI(){return G8.mainLoopModelOverride}function AD6(){return G8.initialMainLoopModel}function dP(q){G8.mainLoopModelOverride=q}function zs8(q){G8.initialMainLoopModel=q}function OW(){return G8.sdkBetas}function Ys8(q){G8.sdkBetas=q}function OD6(){G8.totalCostUSD=0,G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalToolDuration=0,G8.startTime=Date.now(),G8.totalLinesAdded=0,G8.totalLinesRemoved=0,G8.hasUnknownModelCost=!1,G8.modelUsage={},G8.promptId=null}function ku6({totalCostUSD:q,totalAPIDuration:K,totalAPIDurationWithoutRetries:_,totalToolDuration:z,totalLinesAdded:Y,totalLinesRemoved:A,lastDuration:O,modelUsage:$}){if(G8.totalCostUSD=q,G8.totalAPIDuration=K,G8.totalAPIDurationWithoutRetries=_,G8.totalToolDuration=z,G8.totalLinesAdded=Y,G8.totalLinesRemoved=A,$)G8.modelUsage=$;if(O)G8.startTime=Date.now()-O}function _P7(){throw Error(\"resetStateForTests can only be called in tests\")}function $D6(){return G8.modelStrings}function Nu6(q){G8.modelStrings=q}function C25(){G8.modelStrings=null}function As8(q,K){G8.meter=q,G8.sessionCounter=K(\"claude_code.session.count\",{description:\"Count of CLI sessions started\"}),G8.locCounter=K(\"claude_code.lines_of_code.count\",{description:\"Count of lines of code modified, with the 'type' attribute indicating whether lines were added or removed\"}),G8.prCounter=K(\"claude_code.pull_request.count\",{description:\"Number of pull requests created\"}),G8.commitCounter=K(\"claude_code.commit.count\",{description:\"Number of git commits created\"}),G8.costCounter=K(\"claude_code.cost.usage\",{description:\"Cost of the Claude Code session\",unit:\"USD\"}),G8.tokenCounter=K(\"claude_code.token.usage\",{description:\"Number of tokens used\",unit:\"tokens\"}),G8.codeEditToolDecisionCounter=K(\"claude_code.code_edit_tool.decision\",{description:\"Count of code editing tool permission decisions (accept/reject) for Edit, Write, and NotebookEdit tools\"}),G8.activeTimeCounter=K(\"claude_code.active_time.total\",{description:\"Total active time in seconds\",unit:\"s\"})}function b25(){return G8.meter}function Os8(){return G8.sessionCounter}function Rz8(){return G8.locCounter}function yu6(){return G8.prCounter}function $s8(){return G8.commitCounter}function ws8(){return G8.costCounter}function wD6(){return G8.tokenCounter}function Eu6(){return G8.codeEditToolDecisionCounter}function js8(){return G8.activeTimeCounter}function Lu6(){return G8.loggerProvider}function Sz8(q){G8.loggerProvider=q}function Hs8(){return G8.eventLogger}function Cz8(q){G8.eventLogger=q}function Js8(){return G8.meterProvider}function bz8(q){G8.meterProvider=q}function N_6(){return G8.tracerProvider}function xz8(q){G8.tracerProvider=q}function d7(){return!G8.isInteractive}function CT(){return G8.isInteractive}function Ms8(q){G8.isInteractive=q}function jD6(){return G8.clientType}function Xs8(q){G8.clientType=q}function vg(){return G8.sdkAgentProgressSummariesEnabled}function Ps8(q){G8.sdkAgentProgressSummariesEnabled=q}function SG(){return G8.kairosActive}function x25(q){G8.kairosActive=q}function Ds8(){return G8.strictToolResultPairing}function I25(q){G8.strictToolResultPairing=q}function Tg(){return G8.memoryToggledOff}function Ws8(q){G8.memoryToggledOff=q}function AL(){return G8.userMsgOptIn}function Vg(q){G8.userMsgOptIn=q}function u25(){return G8.sessionSource}function fs8(q){G8.sessionSource=q}function Iz8(){return G8.questionPreviewFormat}function uz8(q){G8.questionPreviewFormat=q}function mz8(){return G8.agentColorMap}function _66(){return G8.flagSettingsPath}function Zs8(q){G8.flagSettingsPath=q}function HD6(){return G8.flagSettingsInline}function Gs8(q){G8.flagSettingsInline=q}function vs8(){return G8.sessionIngressToken}function y_6(q){G8.sessionIngressToken=q}function Ts8(){return G8.oauthTokenFromFd}function Vs8(q){G8.oauthTokenFromFd=q}function ks8(){return G8.apiKeyFromFd}function Ns8(q){G8.apiKeyFromFd=q}function ys8(q){G8.lastAPIRequest=q}function Es8(){return G8.lastAPIRequest}function Ls8(q){G8.lastAPIRequestMessages=q}function m25(){return G8.lastAPIRequestMessages}function hu6(q){G8.lastClassifierRequests=q}function zP7(){return G8.lastClassifierRequests}function hs8(q){G8.cachedClaudeMdContent=q}function Rs8(){return G8.cachedClaudeMdContent}function B25(q){if(G8.inMemoryErrorLog.length>=100)G8.inMemoryErrorLog.shift();G8.inMemoryErrorLog.push(q)}function Ss8(){return G8.allowedSettingSources}function Cs8(q){G8.allowedSettingSources=q}function Ru6(){return d7()&&G8.clientType!==\"claude-vscode\"}function bs8(q){G8.inlinePlugins=q}function kg(){return G8.inlinePlugins}function xs8(q){G8.chromeFlagOverride=q}function Su6(){return G8.chromeFlagOverride}function OL(q){G8.useCoworkPlugins=q,AW()}function Cu6(){return G8.useCoworkPlugins}function Is8(q){G8.sessionBypassPermissionsMode=q}function E_6(){return G8.sessionBypassPermissionsMode}function bu6(q){G8.scheduledTasksEnabled=q}function JD6(){return G8.scheduledTasksEnabled}function L_6(){return G8.sessionCronTasks}function us8(q){G8.sessionCronTasks.push(q)}function p25(q){return G8.loopChainStartedAt[q]}function g25(q,K){G8.loopChainStartedAt[q]=K}function F25(q){delete G8.loopChainStartedAt[q]}function xu6(q){if(q.length===0)return 0;let K=new Set(q),_=G8.sessionCronTasks.filter((Y)=>!K.has(Y.id)),z=G8.sessionCronTasks.length-_.length;if(z===0)return 0;return G8.sessionCronTasks=_,z}function Iu6(q){G8.sessionTrustAccepted=q}function MD6(){return G8.sessionTrustAccepted}function ms8(q){G8.sessionPersistenceDisabled=q}function ok(){return G8.sessionPersistenceDisabled}function uu6(){return G8.hasExitedPlanMode}function $L(q){G8.hasExitedPlanMode=q}function Bs8(){return G8.needsPlanModeExitAttachment}function gI(q){G8.needsPlanModeExitAttachment=q}function Kn(q,K){if(K===\"plan\"&&q!==\"plan\")G8.needsPlanModeExitAttachment=!1;if(q===\"plan\"&&K!==\"plan\")G8.needsPlanModeExitAttachment=!0}function ps8(){return G8.needsAutoModeExitAttachment}function CG(q){G8.needsAutoModeExitAttachment=q}function gs8(q,K){if(q===\"auto\"&&K===\"plan\"||q===\"plan\"&&K===\"auto\")return;let _=q===\"auto\",z=K===\"auto\";if(z&&!_)G8.needsAutoModeExitAttachment=!1;if(_&&!z)G8.needsAutoModeExitAttachment=!0}function Fs8(){return G8.lspRecommendationShownThisSession}function Us8(q){G8.lspRecommendationShownThisSession=q}function Qs8(q){G8.initJsonSchema=q}function Bz8(){return G8.initJsonSchema}function z66(q){if(!G8.registeredHooks)G8.registeredHooks={};for(let[K,_]of Object.entries(q)){let z=K;if(!G8.registeredHooks[z])G8.registeredHooks[z]=[];G8.registeredHooks[z].push(..._)}}function zS(){return G8.registeredHooks}function U25(){G8.registeredHooks=null}function pz8(){if(!G8.registeredHooks)return;let q={};for(let[K,_]of Object.entries(G8.registeredHooks)){let z=_.filter((Y)=>!(\"pluginRoot\"in Y));if(z.length>0)q[K]=z}G8.registeredHooks=Object.keys(q).length>0?q:null}function YP7(){G8.initJsonSchema=null,G8.registeredHooks=null}function h_6(){return G8.planSlugCache}function mu6(){return G8.sessionCreatedTeams}function Bu6(q){G8.teleportedSessionInfo={isTeleported:!0,hasLoggedFirstMessage:!1,sessionId:q.sessionId}}function gz8(){return G8.teleportedSessionInfo}function Fz8(){if(G8.teleportedSessionInfo)G8.teleportedSessionInfo.hasLoggedFirstMessage=!0}function XD6(q,K,_,z=null){let Y=`${z??\"\"}:${q}`;G8.invokedSkills.set(Y,{skillName:q,skillPath:K,content:_,invokedAt:Date.now(),agentId:z})}function Q25(){return G8.invokedSkills}function ds8(q){let K=q??null,_=new Map;for(let[z,Y]of G8.invokedSkills)if(Y.agentId===K)_.set(z,Y);return _}function cs8(q){if(!q||q.size===0){G8.invokedSkills.clear();return}for(let[K,_]of G8.invokedSkills)if(_.agentId===null||!q.has(_.agentId))G8.invokedSkills.delete(K)}function Y66(q){for(let[K,_]of G8.invokedSkills)if(_.agentId===q)G8.invokedSkills.delete(K)}function AP7(q,K){return}function OP7(){if(G8.slowOperations.length===0)return tX7;let q=Date.now();if(G8.slowOperations.some((K)=>q-K.timestamp>=Ra8)){if(G8.slowOperations=G8.slowOperations.filter((K)=>q-K.timestamp<Ra8),G8.slowOperations.length===0)return tX7}return G8.slowOperations}function Ng(){return G8.mainThreadAgentType}function _n(q){G8.mainThreadAgentType=q}function cK(){return G8.isRemoteMode}function ls8(q){G8.isRemoteMode=q}function ns8(){return G8.systemPromptSectionCache}function is8(q,K){G8.systemPromptSectionCache.set(q,K)}function rs8(){G8.systemPromptSectionCache.clear()}function os8(){return G8.lastEmittedDate}function PD6(q){G8.lastEmittedDate=q}function bG(){return G8.additionalDirectoriesForClaudeMd}function pu6(q){G8.additionalDirectoriesForClaudeMd=q}function TJ(){return G8.allowedChannels}function zn(q){G8.allowedChannels=q}function Uz8(){return G8.hasDevChannels}function Qz8(q){G8.hasDevChannels=q}function as8(){return G8.promptCache1hAllowlist}function ss8(q){G8.promptCache1hAllowlist=q}function ts8(){return G8.afkModeHeaderLatched}function es8(q){G8.afkModeHeaderLatched=q}function qt8(){return G8.fastModeHeaderLatched}function Kt8(q){G8.fastModeHeaderLatched=q}function _t8(){return G8.cacheEditingHeaderLatched}function d25(q){G8.cacheEditingHeaderLatched=q}function zt8(){return G8.thinkingClearLatched}function Yt8(q){G8.thinkingClearLatched=q}function At8(){G8.afkModeHeaderLatched=null,G8.fastModeHeaderLatched=null,G8.cacheEditingHeaderLatched=null,G8.thinkingClearLatched=null}function gu6(){return G8.promptId}function Fu6(q){G8.promptId=q}var G8,ba8,xa8,la8=!1,ia8,ra8,aa8=0,sa8=null,Lz8=0,kz8=!1,Wu6,KP7=150,sX7=10,Ra8=1e4,tX7;var v8=L(()=>{UX7();ya8();tl();G8=eX7();ba8=E9(),xa8=ba8.subscribe;ia8=E9(),ra8=ia8.subscribe;tX7=[]});function dz8(q){let K;for(let _ in q)if(_.startsWith(\"_PROTO_\")){if(K===void 0)K={...q};delete K[_]}return K??q}function $P7(q){if(A66!==null)return;if(A66=q,Uu6.length>0){let K=[...Uu6];Uu6.length=0,queueMicrotask(()=>{for(let _ of K)if(_.async)A66.logEventAsync(_.eventName,_.metadata);else A66.logEvent(_.eventName,_.metadata)})}}function d(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!1});return}A66.logEvent(q,K)}async function wP7(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!0});return}await A66.logEventAsync(q,K)}var Uu6,A66=null;var T8=L(()=>{Uu6=[]});function WD6({writeFn:q,flushIntervalMs:K=1000,maxBufferSize:_=100,maxBufferBytes:z=1/0,immediateMode:Y=!1}){let A=[],O=0,$=null,w=null;function j(){if($)clearTimeout($),$=null}function H(){if(w)q(w.join(\"\")),w=null;if(A.length===0)return;q(A.join(\"\")),A=[],O=0,j()}function J(){if(!$)$=setTimeout(H,K)}function M(){if(w){w.push(...A),A=[],O=0,j();return}let X=A;A=[],O=0,j(),w=X,setImmediate(()=>{let P=w;if(w=null,P)q(P.join(\"\"))})}return{write(X){if(Y){q(X);return}if(A.push(X),O+=X.length,J(),A.length>=_||O>=z)M()},flush:H,dispose(){H()}}}function gq(q){return Ot8.add(q),()=>Ot8.delete(q)}async function jP7(){await Promise.all(Array.from(Ot8).map((q)=>q()))}var Ot8;var o9=L(()=>{Ot8=new Set});function c25(q){let K=[],_=q.match(/^MCP server [\"']([^\"']+)[\"']/);if(_&&_[1])K.push(\"mcp\"),K.push(_[1].toLowerCase());else{let A=q.match(/^([^:[]+):/);if(A&&A[1])K.push(A[1].trim().toLowerCase())}let z=q.match(/^\\[([^\\]]+)]/);if(z&&z[1])K.push(z[1].trim().toLowerCase());if(q.toLowerCase().includes(\"1p event:\"))K.push(\"1p\");let Y=q.match(/:\\s*([^:]+?)(?:\\s+(?:type|mode|status|event))?:/);if(Y&&Y[1]){let A=Y[1].trim().toLowerCase();if(A.length<30&&!A.includes(\" \"))K.push(A)}return Array.from(new Set(K))}function l25(q,K){if(!K)return!0;if(q.length===0)return!1;if(K.isExclusive)return!q.some((_)=>K.exclude.includes(_));else return q.some((_)=>K.include.includes(_))}function JP7(q,K){if(!K)return!0;let _=c25(q);return l25(_,K)}var HP7;var MP7=L(()=>{h4();HP7=A1((q)=>{if(!q||q.trim()===\"\")return null;let K=q.split(\",\").map((A)=>A.trim()).filter(Boolean);if(K.length===0)return null;let _=K.some((A)=>A.startsWith(\"!\")),z=K.some((A)=>!A.startsWith(\"!\"));if(_&&z)return null;let Y=K.map((A)=>A.replace(/^!/,\"\").toLowerCase());return{include:_?[]:Y,exclude:_?Y:[],isExclusive:_}})});import{homedir as n25}from\"os\";import{join as XP7}from\"path\";function fD6(){return XP7(O7(),\"teams\")}function ZD6(q){let K=process.env.NODE_OPTIONS;if(!K)return!1;return K.split(/\\s+/).includes(q)}function Yn(q,K){if(q===void 0)return K;let _=parseInt(q,10);return Number.isNaN(_)?K:_}function B6(q){if(!q)return!1;if(typeof q===\"boolean\")return q;let K=q.toLowerCase().trim();return[\"1\",\"true\",\"yes\",\"on\"].includes(K)}function a9(q){if(q===void 0)return!1;if(typeof q===\"boolean\")return!q;if(!q)return!1;let K=q.toLowerCase().trim();return[\"0\",\"false\",\"no\",\"off\"].includes(K)}function D9(){return B6(process.env.CLAUDE_CODE_SIMPLE)||process.argv.includes(\"--bare\")}function PP7(q){let K={};if(q)for(let _ of q){let[z,...Y]=_.split(\"=\");if(!z||Y.length===0)throw Error(`Invalid environment variable format: ${_}, environment variables should be added as: -e KEY1=value1 -e KEY2=value2`);K[z]=Y.join(\"=\")}return K}function YS(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||\"us-east-1\"}function cz8(){return process.env.CLOUD_ML_REGION||\"us-east5\"}function DP7(){return B6(process.env.CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR)}function Af(){return!1}function AS(){return!1}function WP7(){return{namespace:void 0,cluster:void 0}}function lz8(q){if(q){let K=i25.find(([_])=>q.startsWith(_));if(K)return process.env[K[1]]||cz8()}return cz8()}var O7,i25;var B8=L(()=>{h4();O7=A1(()=>{return(process.env.CLAUDE_CONFIG_DIR??XP7(n25(),\".claude\")).normalize(\"NFC\")},()=>process.env.CLAUDE_CONFIG_DIR);i25=[[\"claude-haiku-4-5\",\"VERTEX_REGION_CLAUDE_HAIKU_4_5\"],[\"claude-3-5-haiku\",\"VERTEX_REGION_CLAUDE_3_5_HAIKU\"],[\"claude-3-5-sonnet\",\"VERTEX_REGION_CLAUDE_3_5_SONNET\"],[\"claude-3-7-sonnet\",\"VERTEX_REGION_CLAUDE_3_7_SONNET\"],[\"claude-opus-4-6\",\"VERTEX_REGION_CLAUDE_4_6_OPUS\"],[\"claude-opus-4-1\",\"VERTEX_REGION_CLAUDE_4_1_OPUS\"],[\"claude-opus-4\",\"VERTEX_REGION_CLAUDE_4_0_OPUS\"],[\"claude-sonnet-4-6\",\"VERTEX_REGION_CLAUDE_4_6_SONNET\"],[\"claude-sonnet-4-5\",\"VERTEX_REGION_CLAUDE_4_5_SONNET\"],[\"claude-sonnet-4\",\"VERTEX_REGION_CLAUDE_4_0_SONNET\"]]});function $4(q,K,_,z,Y){if(z===\"m\")throw TypeError(\"Private method is not writable\");if(z===\"a\"&&!Y)throw TypeError(\"Private accessor was defined without a setter\");if(typeof K===\"function\"?q!==K||!Y:!K.has(q))throw TypeError(\"Cannot write private member to an object whose class did not declare it\");return z===\"a\"?Y.call(q,_):Y?Y.value=_:K.set(q,_),_}function u1(q,K,_,z){if(_===\"a\"&&!z)throw TypeError(\"Private accessor was defined without a getter\");if(typeof K===\"function\"?q!==K||!z:!K.has(q))throw TypeError(\"Cannot read private member from an object whose class did not declare it\");return _===\"m\"?z:_===\"a\"?z.call(q):z?z.value:K.get(q)}var An=()=>{};var $t8=function(){let{crypto:q}=globalThis;if(q?.randomUUID)return $t8=q.randomUUID.bind(q),q.randomUUID();let K=new Uint8Array(1),_=q?()=>q.getRandomValues(K)[0]:()=>Math.random()*255&255;return\"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,(z)=>(+z^_()&15>>+z/4).toString(16))};function On(q){return typeof q===\"object\"&&q!==null&&((\"name\"in q)&&q.name===\"AbortError\"||(\"message\"in q)&&String(q.message).includes(\"FetchRequestCanceledException\"))}var Qu6=(q)=>{if(q instanceof Error)return q;if(typeof q===\"object\"&&q!==null){try{if(Object.prototype.toString.call(q)===\"[object Error]\"){let K=Error(q.message,q.cause?{cause:q.cause}:{});if(q.stack)K.stack=q.stack;if(q.cause&&!K.cause)K.cause=q.cause;if(q.name)K.name=q.name;return K}}catch{}try{return Error(JSON.stringify(q))}catch{}}return Error(q)};var vq,dq,c_,Of,yg,du6,R_6,cu6,S_6,lu6,nu6,iu6,ru6;var $W=L(()=>{vq=class vq extends Error{};dq=class dq extends vq{constructor(q,K,_,z,Y){super(`${dq.makeMessage(q,K,_)}`);this.status=q,this.headers=z,this.requestID=z?.get(\"request-id\"),this.error=K,this.type=Y??null}static makeMessage(q,K,_){let z=K?.message?typeof K.message===\"string\"?K.message:JSON.stringify(K.message):K?JSON.stringify(K):_;if(q&&z)return`${q} ${z}`;if(q)return`${q} status code (no body)`;if(z)return z;return\"(no status code or body)\"}static generate(q,K,_,z){if(!q||!z)return new Of({message:_,cause:Qu6(K)});let Y=K,A=Y?.error?.type;if(q===400)return new du6(q,Y,_,z,A);if(q===401)return new R_6(q,Y,_,z,A);if(q===403)return new cu6(q,Y,_,z,A);if(q===404)return new S_6(q,Y,_,z,A);if(q===409)return new lu6(q,Y,_,z,A);if(q===422)return new nu6(q,Y,_,z,A);if(q===429)return new iu6(q,Y,_,z,A);if(q>=500)return new ru6(q,Y,_,z,A);return new dq(q,Y,_,z,A)}};c_=class c_ extends dq{constructor({message:q}={}){super(void 0,void 0,q||\"Request was aborted.\",void 0)}};Of=class Of extends dq{constructor({message:q,cause:K}){super(void 0,void 0,q||\"Connection error.\",void 0);if(K)this.cause=K}};yg=class yg extends Of{constructor({message:q}={}){super({message:q??\"Request timed out.\"})}};du6=class du6 extends dq{};R_6=class R_6 extends dq{};cu6=class cu6 extends dq{};S_6=class S_6 extends dq{};lu6=class lu6 extends dq{};nu6=class nu6 extends dq{};iu6=class iu6 extends dq{};ru6=class ru6 extends dq{}});function nz8(q){if(typeof q!==\"object\")return{};return q??{}}function Ht8(q){if(!q)return!0;for(let K in q)return!1;return!0}function ZP7(q,K){return Object.prototype.hasOwnProperty.call(q,K)}var o25,fP7=(q)=>{return o25.test(q)},wt8=(q)=>(wt8=Array.isArray,wt8(q)),jt8,GP7=(q,K)=>{if(typeof K!==\"number\"||!Number.isInteger(K))throw new vq(`${q} must be an integer`);if(K<0)throw new vq(`${q} must be a positive integer`);return K},iz8=(q)=>{try{return JSON.parse(q)}catch(K){return}};var C_6=L(()=>{$W();o25=/^[a-z][a-z0-9+.-]*:/i,jt8=wt8});var vP7=(q)=>new Promise((K)=>setTimeout(K,q));var O66=\"0.81.0\";function a25(){if(typeof Deno<\"u\"&&Deno.build!=null)return\"deno\";if(typeof EdgeRuntime<\"u\")return\"edge\";if(Object.prototype.toString.call(typeof globalThis.process<\"u\"?globalThis.process:0)===\"[object process]\")return\"node\";return\"unknown\"}function t25(){if(typeof navigator>\"u\"||!navigator)return null;let q=[{key:\"edge\",pattern:/Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"chrome\",pattern:/Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"firefox\",pattern:/Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"safari\",pattern:/(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/}];for(let{key:K,pattern:_}of q){let z=_.exec(navigator.userAgent);if(z){let Y=z[1]||0,A=z[2]||0,O=z[3]||0;return{browser:K,version:`${Y}.${A}.${O}`}}}return null}var NP7=()=>{return typeof window<\"u\"&&typeof window.document<\"u\"&&typeof navigator<\"u\"},s25=()=>{let q=a25();if(q===\"deno\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(Deno.build.os),\"X-Stainless-Arch\":TP7(Deno.build.arch),\"X-Stainless-Runtime\":\"deno\",\"X-Stainless-Runtime-Version\":typeof Deno.version===\"string\"?Deno.version:Deno.version?.deno??\"unknown\"};if(typeof EdgeRuntime<\"u\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":`other:${EdgeRuntime}`,\"X-Stainless-Runtime\":\"edge\",\"X-Stainless-Runtime-Version\":globalThis.process.version};if(q===\"node\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(globalThis.process.platform??\"unknown\"),\"X-Stainless-Arch\":TP7(globalThis.process.arch??\"unknown\"),\"X-Stainless-Runtime\":\"node\",\"X-Stainless-Runtime-Version\":globalThis.process.version??\"unknown\"};let K=t25();if(K)return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":`browser:${K.browser}`,\"X-Stainless-Runtime-Version\":K.version};return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":\"unknown\",\"X-Stainless-Runtime-Version\":\"unknown\"}},TP7=(q)=>{if(q===\"x32\")return\"x32\";if(q===\"x86_64\"||q===\"x64\")return\"x64\";if(q===\"arm\")return\"arm\";if(q===\"aarch64\"||q===\"arm64\")return\"arm64\";if(q)return`other:${q}`;return\"unknown\"},VP7=(q)=>{if(q=q.toLowerCase(),q.includes(\"ios\"))return\"iOS\";if(q===\"android\")return\"Android\";if(q===\"darwin\")return\"MacOS\";if(q===\"win32\")return\"Windows\";if(q===\"freebsd\")return\"FreeBSD\";if(q===\"openbsd\")return\"OpenBSD\";if(q===\"linux\")return\"Linux\";if(q)return`Other:${q}`;return\"Unknown\"},kP7,yP7=()=>{return kP7??(kP7=s25())};var Jt8=()=>{};function EP7(){if(typeof fetch<\"u\")return fetch;throw Error(\"`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`\")}function Mt8(...q){let K=globalThis.ReadableStream;if(typeof K>\"u\")throw Error(\"`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`\");return new K(...q)}function rz8(q){let K=Symbol.asyncIterator in q?q[Symbol.asyncIterator]():q[Symbol.iterator]();return Mt8({start(){},async pull(_){let{done:z,value:Y}=await K.next();if(z)_.close();else _.enqueue(Y)},async cancel(){await K.return?.()}})}function ou6(q){if(q[Symbol.asyncIterator])return q;let K=q.getReader();return{async next(){try{let _=await K.read();if(_?.done)K.releaseLock();return _}catch(_){throw K.releaseLock(),_}},async return(){let _=K.cancel();return K.releaseLock(),await _,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function LP7(q){if(q===null||typeof q!==\"object\")return;if(q[Symbol.asyncIterator]){await q[Symbol.asyncIterator]().return?.();return}let K=q.getReader(),_=K.cancel();K.releaseLock(),await _}var hP7=({headers:q,body:K})=>{return{bodyHeaders:{\"content-type\":\"application/json\"},body:JSON.stringify(K)}};function RP7(q){return Object.entries(q).filter(([K,_])=>typeof _<\"u\").map(([K,_])=>{if(typeof _===\"string\"||typeof _===\"number\"||typeof _===\"boolean\")return`${encodeURIComponent(K)}=${encodeURIComponent(_)}`;if(_===null)return`${encodeURIComponent(K)}=`;throw new vq(`Cannot stringify type ${typeof _}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(\"&\")}var SP7=L(()=>{$W()});function xP7(q){let K=0;for(let Y of q)K+=Y.length;let _=new Uint8Array(K),z=0;for(let Y of q)_.set(Y,z),z+=Y.length;return _}function au6(q){let K;return(CP7??(K=new globalThis.TextEncoder,CP7=K.encode.bind(K)))(q)}function Xt8(q){let K;return(bP7??(K=new globalThis.TextDecoder,bP7=K.decode.bind(K)))(q)}var CP7,bP7;class $66{constructor(){wL.set(this,void 0),jL.set(this,void 0),$4(this,wL,new Uint8Array,\"f\"),$4(this,jL,null,\"f\")}decode(q){if(q==null)return[];let K=q instanceof ArrayBuffer?new Uint8Array(q):typeof q===\"string\"?au6(q):q;$4(this,wL,xP7([u1(this,wL,\"f\"),K]),\"f\");let _=[],z;while((z=Kj5(u1(this,wL,\"f\"),u1(this,jL,\"f\")))!=null){if(z.carriage&&u1(this,jL,\"f\")==null){$4(this,jL,z.index,\"f\");continue}if(u1(this,jL,\"f\")!=null&&(z.index!==u1(this,jL,\"f\")+1||z.carriage)){_.push(Xt8(u1(this,wL,\"f\").subarray(0,u1(this,jL,\"f\")-1))),$4(this,wL,u1(this,wL,\"f\").subarray(u1(this,jL,\"f\")),\"f\"),$4(this,jL,null,\"f\");continue}let Y=u1(this,jL,\"f\")!==null?z.preceding-1:z.preceding,A=Xt8(u1(this,wL,\"f\").subarray(0,Y));_.push(A),$4(this,wL,u1(this,wL,\"f\").subarray(z.index),\"f\"),$4(this,jL,null,\"f\")}return _}flush(){if(!u1(this,wL,\"f\").length)return[];return this.decode(`\n ^^^\n\nSyntaxError: Unexpected token '??='\n at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)\n at async link (internal/modules/esm/module_job.js:47:21)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nvm use 24\nNow using node v24.11.1 (npm v11.6.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude \n╭─── Claude Code v2.1.97 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ \n│ │ Tips for getting started │ \n│ Welcome back Lukas! │ Run /init to create a CLAUDE.md file with instructions for Claude │ \n│ │ Note: You have launched claude in your home directory. For the best experience, launch it in a project directory instead. │ \n│ ▐▛███▜▌ │ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── │ \n│ ▝▜█████▛▘ │ Recent activity │ \n│ ▘▘ ▝▝ │ No recent activity │ \n│ Sonnet 4.6 · Claude Pro · kovaliklukas@gmail.com's │ │ \n│ Organization │ │ \n│ /Users/lukas │ │ \n╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ \n \n❯ what did I do yesterday? Give me summary of my activity from screenpipe \n \n⏺ screenpipe - Activity Summary (MCP)(start_time: \"2026-04-11T00:00:00\", end_time: \"2026-04-11T23:59:59\") \n \n⏺ screenpipe - Activity Summary (MCP)(start_time: \"2026-04-11T00:00:00Z\", end_time: \"2026-04-11T23:59:59Z\") \n \n⏺ Here's your activity summary for yesterday (April 11): \n \n --- \n Total active time: ~3 hours (roughly 15:00–21:00 UTC) \n \n Main focus areas \n \n Screenpipe development (~2h combined) \n - Heavy terminal work in iTerm2 (67 min in zsh + SSH) \n - Building a screenpipe data UI — working remotely on 100.73.206.126 via SSH \n - Editing report.py and\u0000a bash script in VS Code \u0000 \u0000 \u0000 \u0000 \n - Checking the Screenpipe Dashboard in Firefox \n \n Work (Jiminny) (~15 min) \n - Checked the Scrum Board for Platform Sprint 1 Q2 \n - Looked at service desk queues \n - Checked an email about\u0000an \"Ask\u0000Jiminny\"\u0000test\u0000report\n - Briefly attempted to access app.dev.jiminny.com (got a page load error) \n - Explored Gemini for Google Workspace (request access) \n \n NAS / personal infra (~12 min) \n - Browsing your NAS at nas.lakylak.xyz \n \n Reading (Denník N)\u0000(~6\u0000min)\n - Article about the Artemis II / Orion splashdown \n - Coverage on Iran and Trump news \u0000 \n \n Claude (~5 min) \n -\u0000Used\u0000Claude,\u0000likely\u0000related\u0000to\u0000screenpipe\u0000work\u0000(querying\u0000the\u0000screenpipe\u0000search\u0000API)\n \n --- \n TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, and evening reading on Slovak news. \n \n───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n❯ \n───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n ? for shortcuts\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0013888889,"top":0.05888889,"width":0.12465278,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0055555557,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.12604167,"top":0.05888889,"width":0.12465278,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.13020833,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.25069445,"top":0.05888889,"width":0.12465278,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.25486112,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.37534723,"top":0.05888889,"width":0.12465278,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3795139,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5,"top":0.05888889,"width":0.12465278,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50416666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6246528,"top":0.05888889,"width":0.12465278,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.62881947,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.74930555,"top":0.05888889,"width":0.124305554,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7534722,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.8736111,"top":0.05888889,"width":0.124305554,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.87777776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.96944445,"top":0.032222223,"width":0.030555546,"height":0.018888889},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"✳ Unable to access screenpipe activity data","depth":1,"bounds":{"left":0.40833333,"top":0.033333335,"width":0.19861111,"height":0.017777778},"role_description":"text"}]...
|
1298238170762429446
|
8956020036987119145
|
visual_change
|
accessibility
|
NULL
|
4 frames [URL_WITH_CREDENTIALS] ~ $ claude mcp ad 4 frames [URL_WITH_CREDENTIALS] ~ $ claude mcp add screenpipe -- npx -y
Dia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] cd /volume2/applications/
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe
[sudo] password for Adm1n:
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps screenpipe ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls
app data db.sqlite pipes '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll
total 95084
drwxrwxrwx 1 root root 76 Apr 11 17:43 .
drwxr-xr-x 1 root root 450 Apr 11 16:11 ..
drwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app
drwxrwxrwx 1 root root 58 Apr 11 17:29 data
-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite
-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store
drwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes
drwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 15.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s
=> [screenpipe-app internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.2s
=> => transferring context: 40.53kB 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s
=> => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s
=> => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s
=> => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s
=> => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s
=> => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s
=> => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s
=> => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s
=> => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s
=> => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s
=> => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s
=> => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s
=> => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s
=> [screenpipe-app 2/5] WORKDIR /app 0.4s
=> [screenpipe-app 3/5] COPY requirements.txt . 0.2s
=> [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.4s
=> => exporting layers 0.3s
=> => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 2/2
✔ Network app_default Created 0.2s
✔ Container screenpipe-app Created 0.1s
Error response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 [IP_ADDRESS]:8765: bind: address already in use
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1
[+] Running 1/1
✔ Container screenpipe-app Started 0.1s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 1.7s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 24.55kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 38.85kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.6s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.1s
=> => transferring context: 47.13kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.5s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 61.77kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build
unknown shorthand flag: 'd' in -d
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.0s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 915B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [screenpipe-app 5/5] COPY . . 0.0s
=> [screenpipe-app] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude
file:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8
import{createRequire as MA5}from"node:module";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q==="object";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,"default",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for("Symbol.dispose"),PA5=Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose"),lz=(q,K,_)=>{if(K!=null){if(typeof K!=="object"&&typeof K!=="function")throw TypeError('Object expected to be assigned to "using" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!=="function")throw TypeError("Object not disposable");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError==="function"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name="SuppressedError",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,"An error was suppressed during disposal"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global=="object"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self=="object"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function("return this")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5="[object Null]",gA5="[object Undefined]",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K=="object"||K=="function")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5="[object AsyncFunction]",dA5="[object Function]",cA5="[object GeneratorFunction]",lA5="[object Proxy]",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ["__core-js_shared__"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||"");return q?"Symbol(src)_1."+q:""}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+""}catch(K){}}return""}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\^$.*+?()[\]{}|]/g,eA5=/^\[object .+?Constructor\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp("^"+_O5.call(zO5).replace(tA5,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,"Map"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,"create"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5="__lodash_hash_undefined__",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5="__lodash_hash_undefined__",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K=="string"||K=="number"||K=="symbol"||K=="boolean"?q!=="__proto__":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K=="string"?"string":"hash"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5="__lodash_hash_undefined__",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+"";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5="[object Boolean]",cO5="[object Date]",lO5="[object Error]",nO5="[object Map]",iO5="[object Number]",rO5="[object RegExp]",oO5="[object Set]",aO5="[object String]",sO5="[object Symbol]",tO5="[object ArrayBuffer]",eO5="[object DataView]",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q=="object"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5="[object Arguments]",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,"callee")&&!P$5.call(q,"callee")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8=="object"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8=="object"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_=="number"||_!="symbol"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=[CREDIT_CARD],T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\d*)$/;re=V$5});function N$5(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=k$5}var k$5=[CREDIT_CARD],rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5="[object Arguments]",E$5="[object Array]",L$5="[object Boolean]",h$5="[object Date]",R$5="[object Error]",S$5="[object Function]",C$5="[object Map]",b$5="[object Number]",x$5="[object Object]",I$5="[object RegExp]",u$5="[object Set]",m$5="[object String]",B$5="[object WeakMap]",p$5="[object ArrayBuffer]",g$5="[object DataView]",F$5="[object Float32Array]",U$5="[object Float64Array]",Q$5="[object Int8Array]",d$5="[object Int16Array]",c$5="[object Int32Array]",l$5="[object Uint8Array]",n$5="[object Uint8ClampedArray]",i$5="[object Uint16Array]",r$5="[object Uint32Array]",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8=="object"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8=="object"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require("util").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding("util")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j=="length"||Y&&(j=="offset"||j=="parent")||A&&(j=="buffer"||j=="byteLength"||j=="byteOffset")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K=="function"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!="constructor")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M=="constructor")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&(("constructor"in q)&&("constructor"in K))&&!(typeof v=="function"&&v instanceof v&&typeof V=="function"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,"DataView"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,"Promise"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,"Set"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,"WeakMap"),Xz8=vw5});var sM7="[object Map]",Tw5="[object Object]",tM7="[object Promise]",eM7="[object Set]",qX7="[object WeakMap]",KX7="[object DataView]",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();Q_8();oM7();Ta8();aM7();M_6();Oa8();Vw5=rl(Jz8),kw5=rl(ne),Nw5=rl(Mz8),yw5=rl(oe),Ew5=rl(Xz8),D_6=YL;if(Jz8&&D_6(new Jz8(new ArrayBuffer(1)))!=KX7||ne&&D_6(new ne)!=sM7||Mz8&&D_6(Mz8.resolve())!=tM7||oe&&D_6(new oe)!=eM7||Xz8&&D_6(new Xz8)!=qX7)D_6=function(q){var K=YL(q),_=K==Tw5?q.constructor:void 0,z=_?rl(_):"";if(z)switch(z){case Vw5:return KX7;case kw5:return sM7;case Nw5:return tM7;case yw5:return eM7;case Ew5:return qX7}return K};sl=D_6});function Rw5(q,K,_,z,Y,A){var O=DO(q),$=DO(K),w=O?zX7:sl(q),j=$?zX7:sl(K);w=w==_X7?Pz8:w,j=j==_X7?Pz8:j;var H=w==Pz8,J=j==Pz8,M=w==j;if(M&&fg(q)){if(!fg(K))return!1;O=!0,H=!1}if(M&&!H)return A||(A=new Dg),O||aP6(q)?i_8(q,K,_,z,Y,A):EM7(q,K,w,_,z,Y,A);if(!(_&Lw5)){var X=H&&YX7.call(q,"__wrapped__"),P=J&&YX7.call(K,"__wrapped__");if(X||P){var D=X?q.value():q,W=P?K.value():K;return A||(A=new Dg),Y(D,W,_,z,A)}}if(!M)return!1;return A||(A=new Dg),nM7(q,K,_,z,Y,A)}var Lw5=1,_X7="[object Arguments]",zX7="[object Array]",Pz8="[object Object]",hw5,YX7,AX7;var OX7=L(()=>{Au6();Ha8();LM7();iM7();Ju6();RT();$u6();$z8();hw5=Object.prototype,YX7=hw5.hasOwnProperty;AX7=Rw5});function $X7(q,K,_,z,Y){if(q===K)return!0;if(q==null||K==null||!QP(q)&&!QP(K))return q!==q&&K!==K;return AX7(q,K,_,z,$X7,Y)}var eP6;var Dz8=L(()=>{OX7();Wg();eP6=$X7});function bw5(q,K,_,z){var Y=_.length,A=Y,O=!z;if(q==null)return!A;q=Object(q);while(Y--){var $=_[Y];if(O&&$[2]?$[1]!==q[$[0]]:!($[0]in q))return!1}while(++Y<A){$=_[Y];var w=$[0],j=q[w],H=$[1];if(O&&$[2]){if(j===void 0&&!(w in q))return!1}else{var J=new Dg;if(z)var M=z(j,H,w,q,K,J);if(!(M===void 0?eP6(H,j,Sw5|Cw5,z,J):M))return!1}}return!0}var Sw5=1,Cw5=2,wX7;var jX7=L(()=>{Au6();Dz8();wX7=bw5});function xw5(q){return q===q&&!PO(q)}var Wz8;var Va8=L(()=>{hT();Wz8=xw5});function Iw5(q){var K=tR(q),_=K.length;while(_--){var z=K[_],Y=q[z];K[_]=[z,Y,Wz8(Y)]}return K}var HX7;var JX7=L(()=>{Va8();P_6();HX7=Iw5});function uw5(q,K){return function(_){if(_==null)return!1;return _[q]===K&&(K!==void 0||(q in Object(_)))}}var fz8;var ka8=L(()=>{fz8=uw5});function mw5(q){var K=HX7(q);if(K.length==1&&K[0][2])return fz8(K[0][0],K[0][1]);return function(_){return _===q||wX7(_,q,K)}}var MX7;var XX7=L(()=>{jX7();JX7();ka8();MX7=mw5});function pw5(q){return typeof q=="symbol"||QP(q)&&YL(q)==Bw5}var Bw5="[object Symbol]",ae;var Mu6=L(()=>{M_6();Wg();ae=pw5});function Uw5(q,K){if(DO(q))return!1;var _=typeof q;if(_=="number"||_=="symbol"||_=="boolean"||q==null||ae(q))return!0;return Fw5.test(q)||!gw5.test(q)||K!=null&&q in Object(K)}var gw5,Fw5,qD6;var Zz8=L(()=>{RT();Mu6();gw5=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Fw5=/^\w*$/;qD6=Uw5});function Na8(q,K){if(typeof q!="function"||K!=null&&typeof K!="function")throw TypeError(Qw5);var _=function(){var z=arguments,Y=K?K.apply(this,z):z[0],A=_.cache;if(A.has(Y))return A.get(Y);var O=q.apply(this,z);return _.cache=A.set(Y,O)||A,O};return _.cache=new(Na8.Cache||X_6),_}var Qw5="Expected a function",A1;var h4=L(()=>{d_8();Na8.Cache=X_6;A1=Na8});function cw5(q){var K=A1(q,function(z){if(_.size===dw5)_.clear();return z}),_=K.cache;return K}var dw5=500,PX7;var DX7=L(()=>{h4();PX7=cw5});var lw5,nw5,iw5,WX7;var fX7=L(()=>{DX7();lw5=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nw5=/\\(\\)?/g,iw5=PX7(function(q){var K=[];if(q.charCodeAt(0)===46)K.push("");return q.replace(lw5,function(_,z,Y,A){K.push(Y?A.replace(nw5,"$1"):z||_)}),K}),WX7=iw5});function rw5(q,K){var _=-1,z=q==null?0:q.length,Y=Array(z);while(++_<z)Y[_]=K(q[_],_,q);return Y}var se;var Xu6=L(()=>{se=rw5});function vX7(q){if(typeof q=="string")return q;if(DO(q))return se(q,vX7)+"";if(ae(q))return GX7?GX7.call(q):"";var K=q+"";return K=="0"&&1/q==-ow5?"-0":K}var ow5=1/0,ZX7,GX7,TX7;var VX7=L(()=>{J_6();Xu6();RT();Mu6();ZX7=YW?YW.prototype:void 0,GX7=ZX7?ZX7.toString:void 0;TX7=vX7});function aw5(q){return q==null?"":TX7(q)}var KD6;var Gz8=L(()=>{VX7();KD6=aw5});function sw5(q,K){if(DO(q))return q;return qD6(q,K)?[q]:WX7(KD6(q))}var eR;var W_6=L(()=>{RT();Zz8();fX7();Gz8();eR=sw5});function ew5(q){if(typeof q=="string"||ae(q))return q;var K=q+"";return K=="0"&&1/q==-tw5?"-0":K}var tw5=1/0,qS;var f_6=L(()=>{Mu6();qS=ew5});function q25(q,K){K=eR(K,q);var _=0,z=K.length;while(q!=null&&_<z)q...
|
2118
|
|
2118
|
45
|
24
|
2026-04-12T09:28:33.806843+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986113806_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Sun Apr 12 12:28:09 on ttys014
sp-stat Last login: Sun Apr 12 12:28:09 on ttys014
sp-status
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Sun Apr 12 12:28:09 on ttys014\nsp-status\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents","depth":4,"bounds":{"left":0.0013888889,"top":0.08777778,"width":0.9986111,"height":0.9122222},"value":"Last login: Sun Apr 12 12:28:09 on ttys014\nsp-status\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0013888889,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0055555557,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.11215278,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.11631945,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.22291666,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.22708334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.33368057,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33784723,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.44444445,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4486111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5552083,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.559375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.66597223,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6701389,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.77673614,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7809028,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.8875,"top":0.05888889,"width":0.110416666,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.89166665,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.96944445,"top":0.032222223,"width":0.030555546,"height":0.018888889},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.4965278,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
7451247858461969716
|
5152846031039385109
|
visual_change
|
accessibility
|
NULL
|
Last login: Sun Apr 12 12:28:09 on ttys014
sp-stat Last login: Sun Apr 12 12:28:09 on ttys014
sp-status
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
2117
|
45
|
23
|
2026-04-12T09:28:30.771481+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986110771_m1.jpg...
|
Alfred
|
Alfred
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
>sp-status
|
[{"role":"AXTextField","text [{"role":"AXTextField","text":">sp-status","depth":1,"bounds":{"left":0.26180556,"top":0.16777778,"width":0.4763889,"height":0.05888889},"value":">sp-status","help_text":"Alfred Search","role_description":"text field","is_enabled":true,"is_focused":true}]...
|
-5707474051672067027
|
-5707474051672067027
|
visual_change
|
hybrid
|
NULL
|
>sp-status
iTerm2ShellEdit|ViewSessionScriptsPr >sp-status
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp(nh]A100% 48Sun 12 Apr 12:28:30* Unable to access screenpipe activity dataDOCKERO ₴1DEV (-zsh)O 82APP (-zsh)• *3-zsh• 84|-zsh• screenpipe - Activity Summary (MCP)(start_time:"2026-04-11T00:00:00", end_time: "2026-04-11T23:59:59")• screenpipe - Activity Summary (MCP)(start_timn-"2A2G AA 11TAR-AR.AA7"and tima. "202G AA 11722.50.507")• Here's your activity summary for yesterday>sp-stalRun command in Terminalsp-sta• *5-zsh86-zsh* Unable to access s...T888Total active time: ~3 hours (roughly 15:00-Main focus areasScreenpipe development (~2h combined)- Heavy terminalwork in iTerm2 (67 min in zsh + SSH)- Building a screenpipe data UI - working remotely on [IP_ADDRESS] via SSH- Editing report.py and a bash script in VS Coder.py and a bash script in vs code on do, 18,.d0.10 via ssk- Checking the Screenpipe Dashboard in FirefoxWork (Jiminny) (~15 min)- Checked the Scrum Board for Platform Sprint 1 Q2- Looked at service desk queues- Checked an email about an "Ask Jiminny" test report- Briefly attempted to access app.dev.jiminny.com (got a page load error)- Explored Gemini for Google Workspace (request access)NAS / personalinfra (~12 min)- Browsing your NAS at nas.lakylak.xyzReading (Denník N) (~6 min)- Article about the Artemis II / Orion splashdown- Coverage on Iran and Trump newsClaude (~5 min)- Used Claude, likely related to screenpipe work (querying the screenpipe search API)TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, andevening reading on Slovak news.? for shortcuts...
|
2116
|
|
2116
|
45
|
22
|
2026-04-12T09:28:24.712661+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986104712_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp> 0 lllA100% C* Unable to access screenpipe activity dataDOCKERO ₴1DEV (-zsh)0 82APP (-zsh)• *3-zsh• 84|-zsh• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00", end_time: "2026-04-11T23:59:59")• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00Z", end_time:"2026-04-11T23:59:59Z")• Here's your activity summary for yesterday (April 11):• $5|-zsh86-zsh8Sun 12 Apr 12:28:24T8* Unable to access s...88Total active time: ~3 hours (roughly 15:00-21:00 UTC)Main focus areasScreenpipe development (~2h combined)- Heavy terminalwork in iTerm2 (67 min in zsh + SSH)- Building a screenpipe data UI - working remotely on [IP_ADDRESS] via SSH- Editing report.py and a bash script in VS Code- Checking the Screenpipe Dashboard in FirefoxWork (Jiminny) (~15 min)- Checked the Scrum Board for Platform Sprint 1 Q2- Looked at service desk queues- Checked an email about an "Ask Jiminny" test report- Briefly attempted to access app.dev.jiminny.com (got a page load error)- Explored Gemini for Google Workspace (request access)NAS / personalinfra (~12 min)- Browsing your NAS at nas.lakylak.xyzReading (Dennik N) (~6 min)- Article about the Artemis II / Orion splashdown- Coverage on Iran and Trump newsClaude (~5 min)- Used Claude, likely related to screenpipe work (querying the screenpipe search API)TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, andevening reading on Slovak news.? for shortcuts...
|
NULL
|
4639052972152001091
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp> 0 lllA100% C* Unable to access screenpipe activity dataDOCKERO ₴1DEV (-zsh)0 82APP (-zsh)• *3-zsh• 84|-zsh• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00", end_time: "2026-04-11T23:59:59")• screenpipe - Activity Summary (MCP)(start_time: "2026-04-11T00:00:00Z", end_time:"2026-04-11T23:59:59Z")• Here's your activity summary for yesterday (April 11):• $5|-zsh86-zsh8Sun 12 Apr 12:28:24T8* Unable to access s...88Total active time: ~3 hours (roughly 15:00-21:00 UTC)Main focus areasScreenpipe development (~2h combined)- Heavy terminalwork in iTerm2 (67 min in zsh + SSH)- Building a screenpipe data UI - working remotely on [IP_ADDRESS] via SSH- Editing report.py and a bash script in VS Code- Checking the Screenpipe Dashboard in FirefoxWork (Jiminny) (~15 min)- Checked the Scrum Board for Platform Sprint 1 Q2- Looked at service desk queues- Checked an email about an "Ask Jiminny" test report- Briefly attempted to access app.dev.jiminny.com (got a page load error)- Explored Gemini for Google Workspace (request access)NAS / personalinfra (~12 min)- Browsing your NAS at nas.lakylak.xyzReading (Dennik N) (~6 min)- Article about the Artemis II / Orion splashdown- Coverage on Iran and Trump newsClaude (~5 min)- Used Claude, likely related to screenpipe work (querying the screenpipe search API)TL;DR: Mostly a dev day focused on building something with screenpipe data (a reporting UI), some light work task-checking on Jira/email, andevening reading on Slovak news.? for shortcuts...
|
NULL
|
|
2115
|
45
|
21
|
2026-04-12T09:28:24.027828+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986104027_m1.jpg...
|
Firefox
|
Screenpipe: Open Source 24/7 Screen & Audio Ca Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software — Personal...
|
True
|
www.reddit.com/r/software/comments/1fjfwg0/comment www.reddit.com/r/software/comments/1fjfwg0/comment/lnr7nqd/...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop, copy it, and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tab, look at the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Target","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"field. Add a space at the very end, followed by","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Still in the Properties window, click inside the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut key","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"box.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Apply","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OK","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager on Launch","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager on Launch","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to choose your profile every time you open Firefox using keyboard arrows:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows) to open the Run dialog.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Firefox Profile Manager will pop up. You can use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrow keys to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> click the gear icon > select \"Manage Extension Shortcuts\") and assign a custom keyboard shortcut to open the Profile Switcher menu.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share and export","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":24,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I am on mac","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I am on mac","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is still the quickest way to do it natively without leaving the browser.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app on your Mac.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button at the top to create a new shortcut.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the search bar on the right, type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Run Shell Script","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and double-click it to add it to your workflow.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the script box that appears, paste the following command (replace \"Work\" with the exact name of your Firefox profile):","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Info (i)","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"icon in the right sidebar (or click the shortcut name at the top and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Details","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add Keyboard Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager via Terminal","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager via Terminal","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open Spotlight Search.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Paste the following command and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Profile Manager window will appear. Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"bounds":{"left":0.0,"top":0.008888889,"width":0.025,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrows to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox","depth":29,"bounds":{"left":0.0,"top":0.30888888,"width":0.14375,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"extension.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open the Add-ons page.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gear icon","depth":29,"bounds":{"left":0.0,"top":0.4488889,"width":0.05277778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"at the top right and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Manage Extension Shortcuts","depth":29,"bounds":{"left":0.0,"top":0.47777778,"width":0.15486111,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.058333334,"top":0.47777778,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Find the Profile Switcher extension and record a custom shortcut (like","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to open the menu instantly.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
1019514428754021878
|
1785210225272740038
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini...
|
2114
|
|
2114
|
45
|
20
|
2026-04-12T09:28:22.895891+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986102895_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp‹>0 ol100% <47Sun 12 Apr 12:28:22•-zshT8DOCKERO $1DEV (-zsh)О $82APP (-zsh)• *3Last login: Sat Apr11 18:35:02onttys014/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"-zsh• *4-zsh|• *5-zsh*6-zsh$87* Unable to a...• *8-zsh89Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $/Applications/Firefox.app/Contents/MacOS/firefox -p "Work"2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr ==_LSModifyNotification(notificationID, 1,&code, 0, NULL, NULL, NULL)2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.UNSUPPORTED (10gonce): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~7' = '("setMark:""rightMouseDown:","swapWithMark:")'2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@us' = '("saveAs:"[Parent 55151, IPC 1/0 Parent] WARNING: process 55158 exited on signal 9: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc:163lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I...
|
NULL
|
3788700171150804907
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp‹>0 ol100% <47Sun 12 Apr 12:28:22•-zshT8DOCKERO $1DEV (-zsh)О $82APP (-zsh)• *3Last login: Sat Apr11 18:35:02onttys014/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"-zsh• *4-zsh|• *5-zsh*6-zsh$87* Unable to a...• *8-zsh89Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $/Applications/Firefox.app/Contents/MacOS/firefox -p "Work"2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr ==_LSModifyNotification(notificationID, 1,&code, 0, NULL, NULL, NULL)2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.UNSUPPORTED (10gonce): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~7' = '("setMark:""rightMouseDown:","swapWithMark:")'2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@us' = '("saveAs:"[Parent 55151, IPC 1/0 Parent] WARNING: process 55158 exited on signal 9: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc:163lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I...
|
NULL
|
|
2113
|
45
|
19
|
2026-04-12T09:28:21.289243+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986101289_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Sat Apr 11 18:35:02 on ttys014
/Applic Last login: Sat Apr 11 18:35:02 on ttys014
/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)
2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid
2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~7' = '(
"setMark:",
"rightMouseDown:",
"swapWithMark:"
)'
2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~S' = '(
"saveAs:"
)'
[Parent 55151, IPC I/O Parent] WARNING: process 55158 exited on signal 9: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc:163
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Sat Apr 11 18:35:02 on ttys014\n/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)\n2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid\n2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.\nUNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable\n2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~7' = '(\n \"setMark:\",\n \"rightMouseDown:\",\n \"swapWithMark:\"\n)'\n2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~S' = '(\n \"saveAs:\"\n)'\n[Parent 55151, IPC I/O Parent] WARNING: process 55158 exited on signal 9: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc:163\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"bounds":{"left":0.0013888889,"top":0.08777778,"width":0.9986111,"height":0.9122222},"value":"Last login: Sat Apr 11 18:35:02 on ttys014\n/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)\n2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid\n2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.\nUNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable\n2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~7' = '(\n \"setMark:\",\n \"rightMouseDown:\",\n \"swapWithMark:\"\n)'\n2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~S' = '(\n \"saveAs:\"\n)'\n[Parent 55151, IPC I/O Parent] WARNING: process 55158 exited on signal 9: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc:163\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0013888889,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0055555557,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.11215278,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.11631945,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.22291666,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.22708334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.33368057,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33784723,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.44444445,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4486111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5552083,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.559375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.66597223,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6701389,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.77673614,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7809028,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.8875,"top":0.05888889,"width":0.110416666,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.89166665,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.96944445,"top":0.032222223,"width":0.030555546,"height":0.018888889},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.4965278,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
1299672965083767250
|
5009996385076042777
|
visual_change
|
accessibility
|
NULL
|
Last login: Sat Apr 11 18:35:02 on ttys014
/Applic Last login: Sat Apr 11 18:35:02 on ttys014
/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)
2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid
2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~7' = '(
"setMark:",
"rightMouseDown:",
"swapWithMark:"
)'
2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~S' = '(
"saveAs:"
)'
[Parent 55151, IPC I/O Parent] WARNING: process 55158 exited on signal 9: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc:163
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
2112
|
|
2112
|
45
|
18
|
2026-04-12T09:28:18.245259+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986098245_m1.jpg...
|
iTerm2
|
git
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Firefox100% CSun 12 Apr 12:28:17Firefox GPU Helper Firefox100% CSun 12 Apr 12:28:17Firefox GPU Helper"-zsh|• *5-zsh86-zsh$87* Unable to a...DOCKERO ₴1DEV (-zsh)O $82APP (-zsh)• *3Last login: Sat Apr 11 18:35:02on ttys014/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"-zsh• x4• *8Firefox GPU Help...X9Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas orits parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr ==_LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~7' = 'C"setMark:""rightMouseDown:","swapWithMark:")'2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@us' = '("saveAs:"...
|
NULL
|
-1906149439329533711
|
NULL
|
visual_change
|
ocr
|
NULL
|
Firefox100% CSun 12 Apr 12:28:17Firefox GPU Helper Firefox100% CSun 12 Apr 12:28:17Firefox GPU Helper"-zsh|• *5-zsh86-zsh$87* Unable to a...DOCKERO ₴1DEV (-zsh)O $82APP (-zsh)• *3Last login: Sat Apr 11 18:35:02on ttys014/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"-zsh• x4• *8Firefox GPU Help...X9Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas orits parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr ==_LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@~7' = 'C"setMark:""rightMouseDown:","swapWithMark:")'2026-04-12 12:28:17.748 firefox[55151:626225] NSKeyBindingManager: Bad key binding selector for '@us' = '("saveAs:"...
|
NULL
|
|
2111
|
45
|
17
|
2026-04-12T09:28:17.663366+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986097663_m1.jpg...
|
Firefox
|
Firefox - Choose User Profile
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Firefox stores information about your settings, pr Firefox stores information about your settings, preferences, and other user items in your user profile.
Create Profile…
Rename Profile…
Delete Profile…
default-release
default
Work offline
Use the selected profile without asking at startup
Exit
Start Firefox...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Firefox stores information about your settings, preferences, and other user items in your user profile.","depth":4,"bounds":{"left":0.39930555,"top":0.38333333,"width":0.19548611,"height":0.03},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create Profile…","depth":3,"bounds":{"left":0.41527778,"top":0.44166666,"width":0.07430556,"height":0.021666666},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Rename Profile…","depth":3,"bounds":{"left":0.41527778,"top":0.4722222,"width":0.07430556,"height":0.021666666},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Delete Profile…","depth":3,"bounds":{"left":0.41527778,"top":0.50277776,"width":0.07430556,"height":0.021666666},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"default-release","depth":6,"bounds":{"left":0.50069445,"top":0.42833334,"width":0.055208333,"height":0.015},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"default","depth":6,"bounds":{"left":0.50069445,"top":0.44666666,"width":0.025347222,"height":0.015},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Work offline","depth":3,"bounds":{"left":0.49513888,"top":0.57944447,"width":0.108333334,"height":0.017222222},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Use the selected profile without asking at startup","depth":3,"bounds":{"left":0.49513888,"top":0.60555553,"width":0.108333334,"height":0.032222223},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Exit","depth":3,"bounds":{"left":0.47291666,"top":0.6477778,"width":0.05486111,"height":0.024444444},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Start Firefox","depth":3,"bounds":{"left":0.5361111,"top":0.6477778,"width":0.06458333,"height":0.024444444},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
4327838952169882965
|
-4102360259043520373
|
click
|
accessibility
|
NULL
|
Firefox stores information about your settings, pr Firefox stores information about your settings, preferences, and other user items in your user profile.
Create Profile…
Rename Profile…
Delete Profile…
default-release
default
Work offline
Use the selected profile without asking at startup
Exit
Start Firefox...
|
NULL
|
|
2110
|
45
|
16
|
2026-04-12T09:28:15.214384+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986095214_m1.jpg...
|
iTerm2
|
Firefox GPU Helper"
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Sat Apr 11 18:35:02 on ttys014
/Applic Last login: Sat Apr 11 18:35:02 on ttys014
/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)
2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid
2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
Firefox GPU Helper"
Close Tab
⌥⌘1
Firefox GPU Helper"...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Sat Apr 11 18:35:02 on ttys014\n/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)\n2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid\n2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.\nUNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable","depth":4,"bounds":{"left":0.0013888889,"top":0.08777778,"width":0.9986111,"height":0.9122222},"value":"Last login: Sat Apr 11 18:35:02 on ttys014\n/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)\n2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid\n2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.\nUNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0013888889,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0055555557,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.11215278,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.11631945,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.22291666,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.22708334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.33368057,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33784723,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.44444445,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4486111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5552083,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.559375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.66597223,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6701389,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.77673614,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7809028,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Firefox GPU Helper\"","depth":2,"bounds":{"left":0.8875,"top":0.05888889,"width":0.110416666,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.89166665,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.96944445,"top":0.032222223,"width":0.030555546,"height":0.018888889},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper\"","depth":1,"bounds":{"left":0.4611111,"top":0.033333335,"width":0.093055554,"height":0.017777778},"role_description":"text"}]...
|
-4155939758362174000
|
5657103922707514937
|
visual_change
|
accessibility
|
NULL
|
Last login: Sat Apr 11 18:35:02 on ttys014
/Applic Last login: Sat Apr 11 18:35:02 on ttys014
/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)
2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626275] Error received in message reply handler: Connection invalid
2026-04-12 09:28:12.260 Firefox GPU Helper[55157:626347] Connection Invalid error for service com.apple.hiservices-xpcservice.
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
Firefox GPU Helper"
Close Tab
⌥⌘1
Firefox GPU Helper"...
|
2109
|
|
2109
|
45
|
15
|
2026-04-12T09:28:12.210543+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986092210_m1.jpg...
|
iTerm2
|
firefox
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Sat Apr 11 18:35:02 on ttys014
/Applic Last login: Sat Apr 11 18:35:02 on ttys014
/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
firefox
Close Tab
⌥⌘1
firefox...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Sat Apr 11 18:35:02 on ttys014\n/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)","depth":4,"bounds":{"left":0.0013888889,"top":0.08777778,"width":0.9986111,"height":0.9122222},"value":"Last login: Sat Apr 11 18:35:02 on ttys014\n/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"\n2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0013888889,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0055555557,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.11215278,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.11631945,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.22291666,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.22708334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.33368057,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33784723,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.44444445,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4486111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5552083,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.559375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.66597223,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6701389,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.77673614,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7809028,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"firefox","depth":2,"bounds":{"left":0.8875,"top":0.05888889,"width":0.110416666,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.89166665,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.96944445,"top":0.032222223,"width":0.030555546,"height":0.018888889},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"firefox","depth":1,"bounds":{"left":0.49166667,"top":0.033333335,"width":0.03263889,"height":0.017777778},"role_description":"text"}]...
|
3376844065339054170
|
5080784042177217561
|
visual_change
|
accessibility
|
NULL
|
Last login: Sat Apr 11 18:35:02 on ttys014
/Applic Last login: Sat Apr 11 18:35:02 on ttys014
/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ /Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
2026-04-12 09:28:12.158 Firefox GPU Helper[55157:626275] Failure on line 686 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
firefox
Close Tab
⌥⌘1
firefox...
|
NULL
|
|
2108
|
45
|
14
|
2026-04-12T09:28:09.204312+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986089204_m1.jpg...
|
iTerm2
|
login
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Sat Apr 11 18:35:02 on ttys014
/Applic Last login: Sat Apr 11 18:35:02 on ttys014
/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Sat Apr 11 18:35:02 on ttys014\n/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"","depth":4,"bounds":{"left":0.0013888889,"top":0.08777778,"width":0.9986111,"height":0.9122222},"value":"Last login: Sat Apr 11 18:35:02 on ttys014\n/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0013888889,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0055555557,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.11215278,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.11631945,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.22291666,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.22708334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.33368057,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33784723,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.44444445,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4486111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5552083,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.559375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.66597223,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6701389,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.77673614,"top":0.05888889,"width":0.11076389,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7809028,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.8875,"top":0.05888889,"width":0.110416666,"height":0.026666667},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.89166665,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.96944445,"top":0.032222223,"width":0.030555546,"height":0.018888889},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.4965278,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-2863987340315731818
|
485284893239766589
|
visual_change
|
accessibility
|
NULL
|
Last login: Sat Apr 11 18:35:02 on ttys014
/Applic Last login: Sat Apr 11 18:35:02 on ttys014
/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
2107
|
45
|
13
|
2026-04-12T09:28:08.214280+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986088214_m1.jpg...
|
Alfred
|
Alfred
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
>/Applications/Firefox.app/Contents/MacOS/firef >/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"...
|
[{"role":"AXTextField","text [{"role":"AXTextField","text":">/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"","depth":1,"bounds":{"left":0.26180556,"top":0.16777778,"width":0.4763889,"height":0.05888889},"value":">/Applications/Firefox.app/Contents/MacOS/firefox -P \"Work\"","help_text":"Alfred Search","role_description":"text field","is_enabled":true,"is_focused":true}]...
|
-2041053900957202594
|
5385382706950556226
|
clipboard
|
hybrid
|
NULL
|
>/Applications/Firefox.app/Contents/MacOS/firef >/Applications/Firefox.app/Contents/MacOS/firefox -P "Work"
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:28:07-zshDOCKERaudiodevicesO ₴1DEV (-zsh)О 82APP (-zsh)|• &3-zsh• ₴4-zsh• ₴5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your datawarning: telemetry is enabled. only error-leto disable, use the --disable-telemetry flagcheck latestchanges here:https://github.coRun command in Terminal2026-04-12T12:10:05.156119ZINFO screenpipe2026-04-12112:10:05.155724ZINFOscreenpipe.corc.•pipes?pipelycneracton2026-04-12T12:10:05.159681ZWARNscreenpipe:piagentinstallfailed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFO2026-04-12T12:10:05.1703082INFOscreenpipe_engine::power::manager: initial power profile: Performance Con_ac=true, battery=Some(100))screenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e92026-04-12112:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)186279ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine: :vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:2026-04-12T12:25:40.173713ZINFOscreenpipe_engine::retention:retention:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)cleaning up2026-04-12T12:26:18.data before 2026-03-29T09:25:40.173688+00:00 (14d retention)128910ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.0MB → 0.8MB (8.7x), 32 JPEGs deleted...
|
2106
|
|
2106
|
45
|
12
|
2026-04-12T09:28:04.621967+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986084621_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:28:04-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• ₴5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
5826626808050170085
|
NULL
|
clipboard
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:28:04-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• ₴5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
|
2105
|
45
|
11
|
2026-04-12T09:28:02.320187+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986082320_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:28:01-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• $5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
-522603346315552414
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:28:01-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• $5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
2104
|
|
2104
|
45
|
10
|
2026-04-12T09:28:00.184207+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986080184_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:27:59-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• ₴5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
-6590252809601540821
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:27:59-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• ₴5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
|
2103
|
45
|
9
|
2026-04-12T09:27:40.244423+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986060244_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh> 0(alo]-zsh100% C78Sun 12 Apr 12:27:39DOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• $586-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
8287519841957496857
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh> 0(alo]-zsh100% C78Sun 12 Apr 12:27:39DOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• $586-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
2102
|
|
2102
|
45
|
8
|
2026-04-12T09:27:39.536985+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986059536_m1.jpg...
|
Firefox
|
Screenpipe: Open Source 24/7 Screen & Audio Ca Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software — Personal...
|
True
|
www.reddit.com/r/software/comments/1fjfwg0/comment www.reddit.com/r/software/comments/1fjfwg0/comment/lnr7nqd/...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop, copy it, and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-4219412590833200578
|
-5693830598325548322
|
app_switch
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
....
|
NULL
|
|
2101
|
45
|
7
|
2026-04-12T09:27:35.393846+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986055393_m1.jpg...
|
Boosteroid
|
Boosteroid
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh> 0(alo]-zsh100% C78Sun 12 Apr 12:27:35DOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• ₴586-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
1008091571625547793
|
NULL
|
app_switch
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh> 0(alo]-zsh100% C78Sun 12 Apr 12:27:35DOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• ₴586-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
|
2100
|
45
|
6
|
2026-04-12T09:27:28.983296+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986048983_m1.jpg...
|
Firefox
|
Screenpipe: Open Source 24/7 Screen & Audio Ca Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software — Personal...
|
True
|
www.reddit.com/r/software/comments/1fjfwg0/comment www.reddit.com/r/software/comments/1fjfwg0/comment/lnr7nqd/...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Skip to main content
Skip to main content
Screenpipe: Open Source 24/7 Screen & Audio Capture
: r/software
Home
Remove r/software filter and expand search to all of Reddit
Get App...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop, copy it, and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tab, look at the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Target","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"field. Add a space at the very end, followed by","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Still in the Properties window, click inside the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut key","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"box.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Apply","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OK","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager on Launch","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager on Launch","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to choose your profile every time you open Firefox using keyboard arrows:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows) to open the Run dialog.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Firefox Profile Manager will pop up. You can use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrow keys to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> click the gear icon > select \"Manage Extension Shortcuts\") and assign a custom keyboard shortcut to open the Profile Switcher menu.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share and export","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":24,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I am on mac","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I am on mac","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is still the quickest way to do it natively without leaving the browser.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app on your Mac.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button at the top to create a new shortcut.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the search bar on the right, type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Run Shell Script","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and double-click it to add it to your workflow.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the script box that appears, paste the following command (replace \"Work\" with the exact name of your Firefox profile):","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Info (i)","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"icon in the right sidebar (or click the shortcut name at the top and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Details","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add Keyboard Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager via Terminal","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager via Terminal","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open Spotlight Search.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Paste the following command and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Profile Manager window will appear. Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"bounds":{"left":0.0,"top":0.008888889,"width":0.025,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrows to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox","depth":29,"bounds":{"left":0.0,"top":0.30888888,"width":0.14375,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"extension.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open the Add-ons page.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gear icon","depth":29,"bounds":{"left":0.0,"top":0.4488889,"width":0.05277778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"at the top right and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Manage Extension Shortcuts","depth":29,"bounds":{"left":0.0,"top":0.47777778,"width":0.15486111,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.058333334,"top":0.47777778,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Find the Profile Switcher extension and record a custom shortcut (like","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to open the menu instantly.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Skip to main content","depth":6,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to main content","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": r/software","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Home","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Remove r/software filter and expand search to all of Reddit","depth":15,"help_text":"","placeholder":"Search in r/software","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Get App","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8392280744996525368
|
1208745075455483014
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Skip to main content
Skip to main content
Screenpipe: Open Source 24/7 Screen & Audio Capture
: r/software
Home
Remove r/software filter and expand search to all of Reddit
Get App...
|
NULL
|
|
2099
|
45
|
5
|
2026-04-12T09:27:14.899477+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986034899_m1.jpg...
|
Firefox
|
About Profiles — Personal
|
True
|
www.reddit.com/r/software/comments/1fjfwg0/screenp www.reddit.com/r/software/comments/1fjfwg0/screenpipe_open_source_247_screen_audio_capture/...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
About Profiles
about:profiles
DXP4800PLUS-B5F8
Inb About Profiles
about:profiles
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions....
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"About Profiles","depth":4,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":4,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
770052714842715697
|
-5694199648893383586
|
click
|
accessibility
|
NULL
|
About Profiles
about:profiles
DXP4800PLUS-B5F8
Inb About Profiles
about:profiles
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions....
|
2098
|
|
2098
|
45
|
4
|
2026-04-12T09:27:12.095263+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986032095_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:27:11-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• $5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
-125126341402214758
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:27:11-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• $5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager: :manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.OMB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
|
2097
|
45
|
3
|
2026-04-12T09:27:08.259769+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986028259_m1.jpg...
|
Firefox
|
About Profiles — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
About Profiles
About Profiles
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
About Profiles
About Profiles
Another copy of Firefox has made changes to profiles. You must restart Firefox before making more changes.
This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons.
Restart
Restart
Restart with Add-ons Disabled…
Restart normally…...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"About Profiles","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"About Profiles","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop, copy it, and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tab, look at the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Target","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"field. Add a space at the very end, followed by","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Still in the Properties window, click inside the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut key","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"box.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Apply","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OK","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager on Launch","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager on Launch","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to choose your profile every time you open Firefox using keyboard arrows:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows) to open the Run dialog.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Firefox Profile Manager will pop up. You can use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrow keys to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> click the gear icon > select \"Manage Extension Shortcuts\") and assign a custom keyboard shortcut to open the Profile Switcher menu.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share and export","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":24,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I am on mac","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I am on mac","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is still the quickest way to do it natively without leaving the browser.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app on your Mac.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button at the top to create a new shortcut.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the search bar on the right, type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Run Shell Script","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and double-click it to add it to your workflow.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the script box that appears, paste the following command (replace \"Work\" with the exact name of your Firefox profile):","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Info (i)","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"icon in the right sidebar (or click the shortcut name at the top and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Details","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add Keyboard Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager via Terminal","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager via Terminal","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open Spotlight Search.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Paste the following command and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Profile Manager window will appear. Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"bounds":{"left":0.0,"top":0.008888889,"width":0.025,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrows to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox","depth":29,"bounds":{"left":0.0,"top":0.30888888,"width":0.14375,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"extension.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open the Add-ons page.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gear icon","depth":29,"bounds":{"left":0.0,"top":0.4488889,"width":0.05277778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"at the top right and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Manage Extension Shortcuts","depth":29,"bounds":{"left":0.0,"top":0.47777778,"width":0.15486111,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.058333334,"top":0.47777778,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Find the Profile Switcher extension and record a custom shortcut (like","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to open the menu instantly.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"bounds":{"left":0.0,"top":0.6288889,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"About Profiles","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"About Profiles","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Another copy of Firefox has made changes to profiles. You must restart Firefox before making more changes.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons.","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Restart","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Restart","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Restart with Add-ons Disabled…","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Restart normally…","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
2471284669429088769
|
5822682893155490950
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
About Profiles
About Profiles
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
About Profiles
About Profiles
Another copy of Firefox has made changes to profiles. You must restart Firefox before making more changes.
This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons.
Restart
Restart
Restart with Add-ons Disabled…
Restart normally…...
|
2096
|
|
2096
|
45
|
2
|
2026-04-12T09:27:00.939069+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986020939_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:27:00-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• ₴5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine: :vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.0MB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
-2735758160804748512
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo]100% C78Sun 12 Apr 12:27:00-zshDOCKERaudio devicesO ₴1DEV (-zsh)О 82APP (-zsh)• *з-zsh• ₴4-zsh|• ₴5-zsh86-zsh*7* Unable to acces...• 88disabledyou are using local processing. all your data stays on your computer.warning: telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UI event capture2026-04-12112:10:05.155724ZINFO2026-04-12T12:10:05.159681ZWARNscreenpipe_core::pipes:pipe scheduler started (generation 2)screenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power::manager: initialpower profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.1703082INFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985ZINFOscreenpipe_engine::ui_recorder: UI recording sessionstarted: 1982bc75-7b4c-48ab-80f8-a5f0f7b6ale92026-04-12T12:10:05184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFO2026-04-12T12:10:05186279ZINFOscreenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.189984Z2026-04-12T12:10:05.INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030194217ZINFOscreenpipe_connect::mdns: mdns: advertisingscreenpipe on port 30302026-04-12T12:10:05.547235ZINFO2026-04-12T12:10:05.621863ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05.621994ZINFOscreenpipe_engine: :vision_manager::manager: Starting vision recording for monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-12T12:10:05622006ZINFOscreenpipe_engine: :vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-0412T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher(polling every 5 seconds)2026-04-12T12:10:05622056ZINFO2026-04-screenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)12T12:10:06456460ZINFOsck_rs::stream_manager: persistent SCK stream started2026-04-12T12:10:06594061ZINFOfor display 1 (1440x900,screenpipe_engine::event_driven_capture:startup capture for monitor 1: frame_id=2007, dur=68ms2026-04-12T12:10:10.186195ZINFO2026-04-screenpipe_engine::retention:retention: initialized with 14d retention12T12:10:10.186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.494702ZINFO2026-04--12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction:snapshotcompaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction:snapshot compaction:97 frames,18.3MB → 6.2MB2026-04-12T12:13:51..158642ZINFOscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGs deletedcontent dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04--12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFO2026-04-12T12:16:17.236544Zscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)INFO2026-04-12T12:20:40.screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames179920ZINFOscreenpipe_engine::retention:retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction:found 7 eligible frames2026-04-12T12:21:18107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16430543ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=4250924808526184698,trigger=visual_change)2026-04-12T12:25:40.173713ZINFO2026-04-12T12:26:18.128910ZINFOscreenpipe_engine::retention:retention:cleaning updata before 2026-03-29T09:25:40.173688+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 33 eligible frames2026-04-12T12:26:20.138315ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.0MB → 0.8MB (8.7x), 32 JPEGs deleted...
|
NULL
|
|
2095
|
45
|
1
|
2026-04-12T09:26:57.632686+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775986017632_m1.jpg...
|
Firefox
|
About Profiles — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
About Profiles
About Profiles
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
About Profiles
About Profiles
Another copy of Firefox has made changes to profiles. You must restart Firefox before making more changes.
This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons.
Restart
Restart
Restart with Add-ons Disabled…
Restart normally…...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"About Profiles","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"About Profiles","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop, copy it, and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tab, look at the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Target","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"field. Add a space at the very end, followed by","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Still in the Properties window, click inside the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut key","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"box.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Apply","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OK","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager on Launch","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager on Launch","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to choose your profile every time you open Firefox using keyboard arrows:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows) to open the Run dialog.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Firefox Profile Manager will pop up. You can use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrow keys to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> click the gear icon > select \"Manage Extension Shortcuts\") and assign a custom keyboard shortcut to open the Profile Switcher menu.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share and export","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":24,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I am on mac","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I am on mac","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is still the quickest way to do it natively without leaving the browser.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app on your Mac.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button at the top to create a new shortcut.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the search bar on the right, type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Run Shell Script","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and double-click it to add it to your workflow.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the script box that appears, paste the following command (replace \"Work\" with the exact name of your Firefox profile):","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Info (i)","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"icon in the right sidebar (or click the shortcut name at the top and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Details","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add Keyboard Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager via Terminal","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager via Terminal","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open Spotlight Search.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"bounds":{"left":0.0,"top":0.0,"width":0.05486111,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.043055557,"top":0.0,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Paste the following command and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":29,"bounds":{"left":0.0,"top":0.05888889,"width":0.0034722222,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Profile Manager window will appear. Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"bounds":{"left":0.0,"top":0.18666667,"width":0.025,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrows to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox","depth":29,"bounds":{"left":0.0,"top":0.48666668,"width":0.14375,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"extension.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open the Add-ons page.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gear icon","depth":29,"bounds":{"left":0.0,"top":0.62666667,"width":0.05277778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"at the top right and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Manage Extension Shortcuts","depth":29,"bounds":{"left":0.0,"top":0.65555555,"width":0.15486111,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.058333334,"top":0.65555555,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Find the Profile Switcher extension and record a custom shortcut (like","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to open the menu instantly.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"bounds":{"left":0.0,"top":0.8066667,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"bounds":{"left":0.0,"top":0.8066667,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"bounds":{"left":0.0,"top":0.8066667,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"About Profiles","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"About Profiles","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Another copy of Firefox has made changes to profiles. You must restart Firefox before making more changes.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons.","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Restart","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Restart","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Restart with Add-ons Disabled…","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Restart normally…","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
2471284669429088769
|
5822682893155490950
|
idle
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
About Profiles
About Profiles
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
About Profiles
About Profiles
Another copy of Firefox has made changes to profiles. You must restart Firefox before making more changes.
This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons.
Restart
Restart
Restart with Add-ons Disabled…
Restart normally…...
|
2094
|
|
2094
|
45
|
0
|
2026-04-12T09:26:27.266730+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985987266_m1.jpg...
|
Firefox
|
Download screenpipe — get started in minutes — Per Download screenpipe — get started in minutes — Personal...
|
True
|
screenpi.pe/onboarding
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
9036746512792842126
|
-5337046532952813890
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale...
|
NULL
|
|
2093
|
NULL
|
0
|
2026-04-12T09:26:11.406492+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985971406_m1.jpg...
|
Firefox
|
Download screenpipe — get started in minutes — Per Download screenpipe — get started in minutes — Personal...
|
True
|
screenpi.pe/onboarding
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Download screenpipe — get started in minutes","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Download screenpipe — get started in minutes","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop, copy it, and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tab, look at the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Target","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"field. Add a space at the very end, followed by","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Still in the Properties window, click inside the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut key","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"box.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Apply","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OK","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager on Launch","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager on Launch","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to choose your profile every time you open Firefox using keyboard arrows:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows) to open the Run dialog.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Firefox Profile Manager will pop up. You can use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrow keys to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> click the gear icon > select \"Manage Extension Shortcuts\") and assign a custom keyboard shortcut to open the Profile Switcher menu.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":24,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share and export","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":24,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I am on mac","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I am on mac","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is still the quickest way to do it natively without leaving the browser.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcuts","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app on your Mac.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button at the top to create a new shortcut.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the search bar on the right, type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Run Shell Script","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and double-click it to add it to your workflow.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the script box that appears, paste the following command (replace \"Work\" with the exact name of your Firefox profile):","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Info (i)","depth":29,"bounds":{"left":0.0,"top":0.018888889,"width":0.036111113,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"icon in the right sidebar (or click the shortcut name at the top and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Details","depth":29,"bounds":{"left":0.0,"top":0.07666667,"width":0.0375,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"bounds":{"left":0.0,"top":0.07666667,"width":0.0069444445,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add Keyboard Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"bounds":{"left":0.020833334,"top":0.17555556,"width":0.0069444445,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager via Terminal","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager via Terminal","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open Spotlight Search.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"bounds":{"left":0.0,"top":0.57222223,"width":0.05486111,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.043055557,"top":0.57222223,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Paste the following command and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":29,"bounds":{"left":0.0,"top":0.6422222,"width":0.0034722222,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Profile Manager window will appear. Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"bounds":{"left":0.0,"top":0.77,"width":0.025,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrows to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox","depth":29,"bounds":{"left":0.0,"top":1.0,"width":0.14375,"height":-0.07000005},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"extension.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open the Add-ons page.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gear icon","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"at the top right and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Manage Extension Shortcuts","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Find the Profile Switcher extension and record a custom shortcut (like","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to open the menu instantly.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-8467265789778622673
|
1208749468674349190
|
idle
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Share and export
Copy
Show more options
Copy prompt
Edit
You said I am on mac
You said
I am on mac
Listen
Show more options
Show thinking
Gemini said
Gemini said
Got it! Since you are on a Mac, the methods change a bit because macOS handles application shortcuts and command-line arguments differently than Windows.
Here are the best keyboard-friendly ways to switch Firefox profiles specifically for macOS:
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is still the quickest way to do it natively without leaving the browser.
Press
to focus the address bar.
Type
and press
.
Press
to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
Method 2: Create a Custom Global Hotkey (Using Apple Shortcuts)
macOS doesn't let you add hotkeys directly to app icons like Windows does, but you can easily achieve the exact same thing using the built-in Apple
Shortcuts
app.
Open the
Shortcuts
app on your Mac.
Click the
button at the top to create a new shortcut.
In the search bar on the right, type
Run Shell Script
and double-click it to add it to your workflow.
In the script box that appears, paste the following command (replace "Work" with the exact name of your Firefox profile):
Click the
Info (i)
icon in the right sidebar (or click the shortcut name at the top and select
Details
).
Click
Add Keyboard Shortcut
and press the key combination you want to use (e.g.,
).
Now, pressing that combination anywhere on your Mac will instantly open that specific Firefox profile.
Method 3: Use the Profile Manager via Terminal
Method 3: Use the Profile Manager via Terminal
If you want to pull up the Firefox Profile Manager to choose a profile using your arrow keys, you can launch it via Terminal.
Press
to open Spotlight Search.
Type
Terminal
and press
.
Paste the following command and press
:
The Profile Manager window will appear. Use the
and
arrows to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
Just like on other operating systems, you can use an extension to mimic the Chrome-style profile switcher and assign a Mac keyboard shortcut to it.
Install the
Profile Switcher for Firefox
extension.
Press
to open the Add-ons page.
Click the
Gear icon
at the top right and select
Manage Extension Shortcuts
.
Find the Profile Switcher extension and record a custom shortcut (like
) to open the menu instantly.
Good response...
|
2092
|
|
2092
|
44
|
25
|
2026-04-12T09:25:41.162883+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985941162_m1.jpg...
|
Firefox
|
Download screenpipe — get started in minutes — Per Download screenpipe — get started in minutes — Personal...
|
True
|
screenpi.pe/onboarding
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying
discord feedback...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Download screenpipe — get started in minutes","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Download screenpipe — get started in minutes","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop, copy it, and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tab, look at the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Target","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"field. Add a space at the very end, followed by","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Still in the Properties window, click inside the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut key","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"box.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Apply","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OK","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager on Launch","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager on Launch","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to choose your profile every time you open Firefox using keyboard arrows:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows) to open the Run dialog.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Firefox Profile Manager will pop up. You can use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrow keys to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> click the gear icon > select \"Manage Extension Shortcuts\") and assign a custom keyboard shortcut to open the Profile Switcher menu.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe logo screenpipe","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"EXPLORE","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EXPLORE","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"PRICING","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PRICING","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"TEAMS","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TEAMS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"DEVELOPERS","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DEVELOPERS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"my account","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"DOWNLOAD","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DOWNLOAD","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"get screenpipe","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"get screenpipe","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"01","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime license","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime license","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"desktop app, forever","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pre-built app, 2-min setup","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"code signed, no warnings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"automatic updates","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai-powered search & memory","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"scheduled ai agents (pipes)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 month screenpipe pro free","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $400","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BEST VALUE","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"02","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime + 1 year pro","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime + 1 year pro","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"the complete experience","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$868","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— save $268","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"everything in lifetime","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12 months screenpipe pro included","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"save $268 vs buying separately","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $600","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30-day money-back guarantee","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17,500+ github stars","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10,000+ discord members","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"HOW LICENSING WORKS","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"HOW LICENSING WORKS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"use on all your devices","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— laptop, desktop, macOS, Windows, Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 purchase = all platforms","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— works across every OS you own","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"no license key needed","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— just sign in with your email to download","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ADD-ON","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what is screenpipe pro?","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what is screenpipe pro?","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription — cloud-powered, beats local whisper","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6 — no api key needed","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive — your data, fully private","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices — sync pipes & configs to all your machines","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history — find anything from any device (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OR BUY SEPARATELY","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$35","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/month","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$39/mo without lifetime","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"have a license code?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"|","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"student?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"system requirements","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"system requirements","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"RAM","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"600 MB – 4 GB depending on settings","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CPU","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10–30% on Apple M3; similar on modern Intel/AMD","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"storage","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"~30 GB per month (configurable retention)","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS 13+, Windows 10+, Linux","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what our users are saying","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what our users are saying","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"discord feedback","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
632987054733205995
|
3589952973666470558
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying
discord feedback...
|
NULL
|
|
2091
|
44
|
24
|
2026-04-12T09:25:35.007497+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985935007_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo)100% C78Sun 12 Apr 12:25:34-zshDOCKERmonitorsO ₴1DEV (-zsh)no monitors0 82availableAPP (-zsh)• *з-zsh• &4-zsh• $5|-zsh86-zsh*7* Unable to acces...• *8audio devicesdisabledyou are using localprocessing. all your data stayson your computer.warning: telemetryis enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power: :manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05183985ZINFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e92026-04-12T12:10:05.184088Z2026-04-12T12:10:05.INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)184054ZINFO2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::calendar_speaker_id:speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.189984ZINFOscreenpipe_engine::meeting_detector: meeting V2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.194217Zscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030INFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-12T12:10:05..547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-0412T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-12T12:10:05621994ZINFO2026-04-screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping2026-04-12T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher (polling every 5 seconds)2026-04-12T12:10:05622056ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)2026-04-12T12:10:06.594061ZINFOscreenpipe_engine::event_driven_capture:2026-04-12T12:10:10.186195ZINFOstartup capture for monitor 1: frame_id=2007, dur=68msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10.186396ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04--12T12:11:11.494702ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB2026-04-12T12:11:17..232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 18.3MB → 6.2MBcompaction: 87 frones, 28. 3M8 6.3me (4.90), 89 38EC6(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.158642Z97 JPEGS deletedINFO2026-04-12T12:15:05180419ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)screenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:401843217INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-:12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligibleframes2026-04-12T12:20:40.179920ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFO2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16.430543ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
NULL
|
5976310682108330788
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo)100% C78Sun 12 Apr 12:25:34-zshDOCKERmonitorsO ₴1DEV (-zsh)no monitors0 82availableAPP (-zsh)• *з-zsh• &4-zsh• $5|-zsh86-zsh*7* Unable to acces...• *8audio devicesdisabledyou are using localprocessing. all your data stayson your computer.warning: telemetryis enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power: :manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05183985ZINFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e92026-04-12T12:10:05.184088Z2026-04-12T12:10:05.INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)184054ZINFO2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::calendar_speaker_id:speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.189984ZINFOscreenpipe_engine::meeting_detector: meeting V2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.194217Zscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030INFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-12T12:10:05..547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-0412T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-12T12:10:05621994ZINFO2026-04-screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping2026-04-12T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher (polling every 5 seconds)2026-04-12T12:10:05622056ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)2026-04-12T12:10:06.594061ZINFOscreenpipe_engine::event_driven_capture:2026-04-12T12:10:10.186195ZINFOstartup capture for monitor 1: frame_id=2007, dur=68msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10.186396ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04--12T12:11:11.494702ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB2026-04-12T12:11:17..232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 18.3MB → 6.2MBcompaction: 87 frones, 28. 3M8 6.3me (4.90), 89 38EC6(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.158642Z97 JPEGS deletedINFO2026-04-12T12:15:05180419ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)screenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:401843217INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-:12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligibleframes2026-04-12T12:20:40.179920ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFO2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16.430543ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
2090
|
|
2090
|
44
|
23
|
2026-04-12T09:25:31.090702+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985931090_m1.jpg...
|
Firefox
|
Download screenpipe — get started in minutes — Per Download screenpipe — get started in minutes — Personal...
|
True
|
screenpi.pe/onboarding
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Download screenpipe — get started in minutes","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Download screenpipe — get started in minutes","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop, copy it, and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tab, look at the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Target","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"field. Add a space at the very end, followed by","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Still in the Properties window, click inside the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut key","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"box.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press the key combination you want to use (e.g.,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Apply","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OK","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager on Launch","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager on Launch","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to choose your profile every time you open Firefox using keyboard arrows:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows) to open the Run dialog.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Firefox Profile Manager will pop up. You can use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arrow keys to select your profile, and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to launch it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 4: Use an Extension","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 4: Use an Extension","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profile Switcher for Firefox:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> click the gear icon > select \"Manage Extension Shortcuts\") and assign a custom keyboard shortcut to open the Profile Switcher menu.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"bounds":{"left":0.0,"top":0.37,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"bounds":{"left":0.0,"top":0.37,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"bounds":{"left":0.0,"top":0.37,"width":0.022222223,"height":0.035555556},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe logo screenpipe","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"EXPLORE","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EXPLORE","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"PRICING","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PRICING","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"TEAMS","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TEAMS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"DEVELOPERS","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DEVELOPERS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"my account","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"DOWNLOAD","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DOWNLOAD","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"get screenpipe","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"get screenpipe","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"01","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime license","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime license","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"desktop app, forever","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pre-built app, 2-min setup","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"code signed, no warnings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"automatic updates","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai-powered search & memory","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"scheduled ai agents (pipes)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 month screenpipe pro free","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $400","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BEST VALUE","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"02","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime + 1 year pro","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime + 1 year pro","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"the complete experience","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$868","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— save $268","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"everything in lifetime","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12 months screenpipe pro included","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"save $268 vs buying separately","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $600","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30-day money-back guarantee","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17,500+ github stars","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10,000+ discord members","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"HOW LICENSING WORKS","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"HOW LICENSING WORKS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"use on all your devices","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— laptop, desktop, macOS, Windows, Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 purchase = all platforms","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— works across every OS you own","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
1428726244352663555
|
3526973497383276062
|
idle
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard, ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently, you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop, copy it, and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab, look at the
Target
field. Add a space at the very end, followed by
.
Still in the Properties window, click inside the
Shortcut key
box.
Press the key combination you want to use (e.g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
The Firefox Profile Manager will pop up. You can use the
and
arrow keys to select your profile, and press
to launch it.
Method 4: Use an Extension
Method 4: Use an Extension
If you want an experience closer to Chrome's profile switcher (which allows for easier hotkey mapping within the browser UI), you can use a community-favorite extension.
Profile Switcher for Firefox:
This extension adds a profile menu to your toolbar. Once installed, you can go into Firefox's Add-on settings (press
> click the gear icon > select "Manage Extension Shortcuts") and assign a custom keyboard shortcut to open the Profile Switcher menu.
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own...
|
NULL
|
|
2089
|
44
|
22
|
2026-04-12T09:25:00.875576+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985900875_m1.jpg...
|
Firefox
|
Download screenpipe — get started in minutes — Per Download screenpipe — get started in minutes — Personal...
|
True
|
screenpi.pe/onboarding
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Show more options
Show thinking
Gemini said
Gemini said
Yes,
you can switch between Firefox profiles using your keyboard,
though Firefox doesn't have a single,
dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard,
ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently,
you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop,
copy it,
and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab,
look at the
Target
field.
Add a space at the very end,
followed by
.
Still in the Properties window,
click inside the
Shortcut key
box.
Press the key combination you want to use (e.
g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Stop response
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Download screenpipe — get started in minutes","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Download screenpipe — get started in minutes","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said can switch between profiles in firefox using keyboard?","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"can switch between profiles in firefox using keyboard?","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes,","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"you can switch between Firefox profiles using your keyboard,","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"though Firefox doesn't have a single,","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dedicated built-in shortcut for this like some other browsers do.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the best ways to do it using only your keyboard,","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ranging from built-in methods to setting up custom hotkeys.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: The Built-in about:profiles Page","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: The Built-in","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:profiles","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Page","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This is the fastest native way to launch a different profile without leaving your current keyboard workflow.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows/Linux) or","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Mac) to focus the address bar.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"key to navigate through the page until you highlight the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Launch profile in new browser\"","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"button under your desired profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to open it.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Create Custom OS Shortcuts (Windows)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you switch between specific profiles frequently,","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Locate your Firefox shortcut on your desktop,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"copy it,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and paste a new version.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click the new shortcut and select","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.0,"top":0.0,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut","depth":29,"bounds":{"left":0.0,"top":0.0,"width":0.047916666,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tab,","depth":29,"bounds":{"left":0.0,"top":0.0,"width":0.022222223,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"look at the","depth":29,"bounds":{"left":0.0,"top":0.0,"width":0.059722222,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Target","depth":29,"bounds":{"left":0.03125,"top":0.0,"width":0.034722224,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"field.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add a space at the very end,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"followed by","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.06736111,"top":0.057777777,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Still in the Properties window,","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"click inside the","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shortcut key","depth":29,"bounds":{"left":0.0,"top":0.22666667,"width":0.06944445,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"box.","depth":29,"bounds":{"left":0.0,"top":0.22666667,"width":0.024305556,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press the key combination you want to use (e.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"g.,","depth":29,"bounds":{"left":0.0,"top":0.29666665,"width":0.011805556,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":29,"bounds":{"left":0.009027778,"top":0.29666665,"width":0.0069444445,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Apply","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":29,"bounds":{"left":0.0,"top":0.33777776,"width":0.024305556,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OK","depth":29,"bounds":{"left":0.0,"top":0.33777776,"width":0.016666668,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.0,"top":0.33777776,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 3: Use the Profile Manager on Launch","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 3: Use the Profile Manager on Launch","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you want to choose your profile every time you open Firefox using keyboard arrows:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Windows) to open the Run dialog.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and press","depth":29,"bounds":{"left":0.0,"top":0.70555556,"width":0.055555556,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":29,"bounds":{"left":0.056944445,"top":0.70555556,"width":0.0027777778,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Stop response","depth":19,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe logo screenpipe","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"EXPLORE","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EXPLORE","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"PRICING","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PRICING","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"TEAMS","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TEAMS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"DEVELOPERS","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DEVELOPERS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"my account","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"DOWNLOAD","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DOWNLOAD","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"get screenpipe","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"get screenpipe","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"01","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime license","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime license","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"desktop app, forever","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pre-built app, 2-min setup","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"code signed, no warnings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"automatic updates","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai-powered search & memory","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"scheduled ai agents (pipes)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 month screenpipe pro free","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $400","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BEST VALUE","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"02","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime + 1 year pro","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime + 1 year pro","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"the complete experience","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$868","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— save $268","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"everything in lifetime","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12 months screenpipe pro included","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"save $268 vs buying separately","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $600","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30-day money-back guarantee","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17,500+ github stars","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10,000+ discord members","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"HOW LICENSING WORKS","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"HOW LICENSING WORKS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"use on all your devices","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— laptop, desktop, macOS, Windows, Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 purchase = all platforms","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— works across every OS you own","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"no license key needed","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— just sign in with your email to download","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ADD-ON","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what is screenpipe pro?","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what is screenpipe pro?","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription — cloud-powered, beats local whisper","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6 — no api key needed","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive — your data, fully private","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices — sync pipes & configs to all your machines","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history — find anything from any device (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OR BUY SEPARATELY","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$35","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/month","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$39/mo without lifetime","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"have a license code?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"|","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"student?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"system requirements","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"system requirements","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"RAM","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"600 MB – 4 GB depending on settings","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CPU","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10–30% on Apple M3; similar on modern Intel/AMD","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"storage","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"~30 GB per month (configurable retention)","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS 13+, Windows 10+, Linux","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what our users are saying","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what our users are saying","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
7412865993258441604
|
-5698966989976941028
|
idle
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said can switch between profiles in firefox using keyboard?
You said
can switch between profiles in firefox using keyboard?
Show more options
Show thinking
Gemini said
Gemini said
Yes,
you can switch between Firefox profiles using your keyboard,
though Firefox doesn't have a single,
dedicated built-in shortcut for this like some other browsers do.
Here are the best ways to do it using only your keyboard,
ranging from built-in methods to setting up custom hotkeys.
Method 1: The Built-in about:profiles Page
Method 1: The Built-in
about:profiles
Page
This is the fastest native way to launch a different profile without leaving your current keyboard workflow.
Press
(Windows/Linux) or
(Mac) to focus the address bar.
Type
and press
.
Use the
key to navigate through the page until you highlight the
"Launch profile in new browser"
button under your desired profile.
Press
to open it.
Method 2: Create Custom OS Shortcuts (Windows)
Method 2: Create Custom OS Shortcuts (Windows)
If you switch between specific profiles frequently,
you can create desktop shortcuts for each profile and assign a global keyboard hotkey to them.
Locate your Firefox shortcut on your desktop,
copy it,
and paste a new version.
Right-click the new shortcut and select
Properties
.
In the
Shortcut
tab,
look at the
Target
field.
Add a space at the very end,
followed by
.
Still in the Properties window,
click inside the
Shortcut key
box.
Press the key combination you want to use (e.
g.,
).
Click
Apply
and
OK
.
Now, pressing that key combination from anywhere in Windows will instantly launch that specific Firefox profile.
Method 3: Use the Profile Manager on Launch
Method 3: Use the Profile Manager on Launch
If you want to choose your profile every time you open Firefox using keyboard arrows:
Press
(Windows) to open the Run dialog.
Type
and press
.
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Stop response
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying...
|
2088
|
|
2088
|
44
|
21
|
2026-04-12T09:24:30.223683+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985870223_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo)100% C78Sun 12 Apr 12:24:30-zshDOCKERmonitorsO ₴1DEV (-zsh)no monitors0 82availableAPP (-zsh)• *з-zsh• &4-zsh• *5-zsh86-zsh*7* Unable to acces...• 88audio devicesdisabledyou are using localprocessing. all your data stayson your computer.warning: telemetryis enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power: :manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05183985ZINFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e92026-04-12T12:10:05.184088Z2026-04-12T12:10:05.INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)184054ZINFO2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::calendar_speaker_id:speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.189984ZINFOscreenpipe_engine::meeting_detector: meeting V2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.194217Zscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030INFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-12T12:10:05..547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-0412T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-12T12:10:05621994ZINFO2026-04-screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping2026-04-12T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher (polling every 5 seconds)2026-04-12T12:10:05622056ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)2026-04-12T12:10:06.594061ZINFOscreenpipe_engine::event_driven_capture:2026-04-12T12:10:10.186195ZINFOstartup capture for monitor 1: frame_id=2007, dur=68msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10.186396ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04--12T12:11:11.494702ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB2026-04-12T12:11:17..232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 18.3MB → 6.2MBcompaction: 87 frones, 28. 3M8 6.3me (4.90), 89 38EC6(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.158642Z97 JPEGS deletedINFO2026-04-12T12:15:05180419ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)screenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:401843217INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-:12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligibleframes2026-04-12T12:20:40.179920ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFO2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16.430543ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
NULL
|
-3787540401363333995
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo)100% C78Sun 12 Apr 12:24:30-zshDOCKERmonitorsO ₴1DEV (-zsh)no monitors0 82availableAPP (-zsh)• *з-zsh• &4-zsh• *5-zsh86-zsh*7* Unable to acces...• 88audio devicesdisabledyou are using localprocessing. all your data stayson your computer.warning: telemetryis enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power: :manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05183985ZINFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e92026-04-12T12:10:05.184088Z2026-04-12T12:10:05.INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)184054ZINFO2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::calendar_speaker_id:speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.189984ZINFOscreenpipe_engine::meeting_detector: meeting V2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.194217Zscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030INFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-12T12:10:05..547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-0412T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-12T12:10:05621994ZINFO2026-04-screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping2026-04-12T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher (polling every 5 seconds)2026-04-12T12:10:05622056ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)2026-04-12T12:10:06.594061ZINFOscreenpipe_engine::event_driven_capture:2026-04-12T12:10:10.186195ZINFOstartup capture for monitor 1: frame_id=2007, dur=68msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10.186396ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04--12T12:11:11.494702ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB2026-04-12T12:11:17..232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 18.3MB → 6.2MBcompaction: 87 frones, 28. 3M8 6.3me (4.90), 89 38EC6(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.158642Z97 JPEGS deletedINFO2026-04-12T12:15:05180419ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)screenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:401843217INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-:12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligibleframes2026-04-12T12:20:40.179920ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFO2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16.430543ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
NULL
|
|
2087
|
44
|
20
|
2026-04-12T09:24:28.782599+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985868782_m1.jpg...
|
Firefox
|
Download screenpipe — get started in minutes — Per Download screenpipe — get started in minutes — Personal...
|
True
|
screenpi.pe/onboarding
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Gemini
Temporary chat
PLUS
PLUS
Conversation with Gemini
Conversation with Gemini
Hi Lukáš
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Write anything, button, tap to use tool
Write anything
Create a video, button, tap to use tool
Create a video
Help me learn, button, tap to use tool
Help me learn
Boost my day, button, tap to use tool
Boost my day
can
can
Open upload file menu
Tools
Open mode picker
Fast
Send message
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying
discord feedback
Visit this post on X
Erick Verified account
Erick
@ErickSky
@ErickSky
Follow
Follow
View on X
ACABA DE SALIR
Tu computador ya puede recordar ABSOLUTAMENTE TODO lo que haces… sin pagar ni un dólar...
Reuniones que tuviste.
Diseños que hiciste.
Streams que viste.
TODO EN LOCAL.
OFFLINE.
GRATIS.
Y no, no necesitas una PC de la NASA.
Se llama
@screen_pipe
@screen_pipe
y es 100%
Show more
Show more
Play Video
Play
GIF
Watch on X
Watch on X
5:50 AM · Mar 6, 2026
5:50 AM · Mar 6, 2026
X Ads info and privacy
Like. This post has 306 likes
306
Reply to this post on X
Reply
Copy link
Copy link
Read 3 replies
Read 3 replies
Visit this post on X
Hypercycle Verified account
Hypercycle
@Hypercycle_AI
@Hypercycle_AI
Follow
Follow
View on X
MOSAIC (My Own Secure AI Companion) Screenpipe Showcase.
Screenpipe captures and streams your on‑device activity into a secure local AI layer, giving you real‑time context awareness.
Join the waitlist at
mosaic.spot
mosaic.spot
Play Video. 49 seconds long
Watch on X
Watch on X
7:59 PM · Mar 18, 2026
7:59 PM · Mar 18, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 6 replies
Read 6 replies
Visit this post on X
Hasan Toor Verified account
Hasan Toor
@hasantoxr
@hasantoxr
Follow
Follow
View on X
You can now give your AI a perfect memory of everything you've done on your computer.
Screenpipe records your screen and audio locally, lets you search anything with natural language, and connects to Claude, Cursor, and ChatGPT via MCP.
100% Open Source.
Play Video
Play
GIF
Watch on X
Watch on X
9:48 PM · Mar 22, 2026
9:48 PM · Mar 22, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 9 replies
Read 9 replies
Visit this post on X
みるぼん@スモビジ Verified account
みるぼん@スモビジ
@milbon_
@milbon_
Follow
Follow
View on X
AIが自分のことを自分以上に理解してる…。
PCの全履歴を記録するOSS「Screenpipe」が登場。画面+音声をローカル保存し、自然言語で検索。ClaudeやChatGPTとも連携し“過去の自分”を即参照可能。これで生産性10倍up。
詳細はリプ欄へ↓
Play Video
Play
GIF
Watch on X
Watch on X
9:46 AM · Mar 23, 2026
9:46 AM · Mar 23, 2026
X Ads info and privacy
Like. This post has 94 likes
94
Reply to this post on X
Reply
Copy link
Copy link
Read 1 reply
Read 1 reply
Visit this post on X
Julian Goldie SEO Verified account
Julian Goldie SEO
@JulianGoldieSEO
@JulianGoldieSEO
Follow
Follow
View on X
There’s a simple 4-step system to make Claude Code 100× smarter:
1. Capture your screen activity with ScreenPipe
2. Let AI analyze what you’re doing
3. Generate automation ideas automatically
4. Turn them into daily workflows inside OpenClaw
Your computer becomes a
Show more
Show more...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Download screenpipe — get started in minutes","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Download screenpipe — get started in minutes","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Temporary chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"PLUS","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PLUS","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hi Lukáš","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Where should we start?","depth":22,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Where should we start?","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🖼️ Create image, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🖼️ Create image","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🎸 Create music, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🎸 Create music","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Write anything, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Write anything","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create a video, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create a video","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help me learn, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help me learn","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Boost my day, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Boost my day","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"can","depth":20,"value":"can","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"can","depth":22,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Fast","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Send message","depth":19,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe logo screenpipe","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"EXPLORE","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EXPLORE","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"PRICING","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PRICING","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"TEAMS","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TEAMS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"DEVELOPERS","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DEVELOPERS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"my account","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"DOWNLOAD","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DOWNLOAD","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"get screenpipe","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"get screenpipe","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"01","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime license","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime license","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"desktop app, forever","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pre-built app, 2-min setup","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"code signed, no warnings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"automatic updates","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai-powered search & memory","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"scheduled ai agents (pipes)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 month screenpipe pro free","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $400","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BEST VALUE","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"02","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime + 1 year pro","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime + 1 year pro","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"the complete experience","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$868","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— save $268","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"everything in lifetime","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12 months screenpipe pro included","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"save $268 vs buying separately","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $600","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30-day money-back guarantee","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17,500+ github stars","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10,000+ discord members","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"HOW LICENSING WORKS","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"HOW LICENSING WORKS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"use on all your devices","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— laptop, desktop, macOS, Windows, Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 purchase = all platforms","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— works across every OS you own","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"no license key needed","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— just sign in with your email to download","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ADD-ON","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what is screenpipe pro?","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what is screenpipe pro?","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription — cloud-powered, beats local whisper","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6 — no api key needed","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive — your data, fully private","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices — sync pipes & configs to all your machines","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history — find anything from any device (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OR BUY SEPARATELY","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$35","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/month","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$39/mo without lifetime","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"have a license code?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"|","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"student?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"system requirements","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"system requirements","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"RAM","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"600 MB – 4 GB depending on settings","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CPU","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10–30% on Apple M3; similar on modern Intel/AMD","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"storage","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"~30 GB per month (configurable retention)","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS 13+, Windows 10+, Linux","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what our users are saying","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what our users are saying","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"discord feedback","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Erick Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Erick","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@ErickSky","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@ErickSky","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ACABA DE SALIR","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tu computador ya puede recordar ABSOLUTAMENTE TODO lo que haces… sin pagar ni un dólar...\n\nReuniones que tuviste.\nDiseños que hiciste.\nStreams que viste.\n\nTODO EN LOCAL.\nOFFLINE.\nGRATIS.\n\nY no, no necesitas una PC de la NASA.\n\nSe llama","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@screen_pipe","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@screen_pipe","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"y es 100%","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Show more","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show more","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Play","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GIF","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"5:50 AM · Mar 6, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"5:50 AM · Mar 6, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 306 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"306","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 3 replies","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 3 replies","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Hypercycle Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hypercycle","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@Hypercycle_AI","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@Hypercycle_AI","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"MOSAIC (My Own Secure AI Companion) Screenpipe Showcase. \n\nScreenpipe captures and streams your on‑device activity into a secure local AI layer, giving you real‑time context awareness.\nJoin the waitlist at","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"mosaic.spot","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"mosaic.spot","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video. 49 seconds long","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"7:59 PM · Mar 18, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"7:59 PM · Mar 18, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 51 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"51","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 6 replies","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 6 replies","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Hasan Toor Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hasan Toor","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@hasantoxr","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@hasantoxr","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"You can now give your AI a perfect memory of everything you've done on your computer.\n\nScreenpipe records your screen and audio locally, lets you search anything with natural language, and connects to Claude, Cursor, and ChatGPT via MCP.\n\n100% Open Source.","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Play","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GIF","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"9:48 PM · Mar 22, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"9:48 PM · Mar 22, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 51 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"51","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 9 replies","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 9 replies","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"みるぼん@スモビジ Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"みるぼん@スモビジ","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@milbon_","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@milbon_","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AIが自分のことを自分以上に理解してる…。\n\nPCの全履歴を記録するOSS「Screenpipe」が登場。画面+音声をローカル保存し、自然言語で検索。ClaudeやChatGPTとも連携し“過去の自分”を即参照可能。これで生産性10倍up。\n\n詳細はリプ欄へ↓","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Play","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GIF","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"9:46 AM · Mar 23, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"9:46 AM · Mar 23, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 94 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"94","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 1 reply","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 1 reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Julian Goldie SEO Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Julian Goldie SEO","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@JulianGoldieSEO","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@JulianGoldieSEO","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"There’s a simple 4-step system to make Claude Code 100× smarter:\n\n1. Capture your screen activity with ScreenPipe\n2. Let AI analyze what you’re doing\n3. Generate automation ideas automatically\n4. Turn them into daily workflows inside OpenClaw\n\nYour computer becomes a","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Show more","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show more","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-1642180776382955248
|
-3345275446827921864
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Gemini
Temporary chat
PLUS
PLUS
Conversation with Gemini
Conversation with Gemini
Hi Lukáš
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Write anything, button, tap to use tool
Write anything
Create a video, button, tap to use tool
Create a video
Help me learn, button, tap to use tool
Help me learn
Boost my day, button, tap to use tool
Boost my day
can
can
Open upload file menu
Tools
Open mode picker
Fast
Send message
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying
discord feedback
Visit this post on X
Erick Verified account
Erick
@ErickSky
@ErickSky
Follow
Follow
View on X
ACABA DE SALIR
Tu computador ya puede recordar ABSOLUTAMENTE TODO lo que haces… sin pagar ni un dólar...
Reuniones que tuviste.
Diseños que hiciste.
Streams que viste.
TODO EN LOCAL.
OFFLINE.
GRATIS.
Y no, no necesitas una PC de la NASA.
Se llama
@screen_pipe
@screen_pipe
y es 100%
Show more
Show more
Play Video
Play
GIF
Watch on X
Watch on X
5:50 AM · Mar 6, 2026
5:50 AM · Mar 6, 2026
X Ads info and privacy
Like. This post has 306 likes
306
Reply to this post on X
Reply
Copy link
Copy link
Read 3 replies
Read 3 replies
Visit this post on X
Hypercycle Verified account
Hypercycle
@Hypercycle_AI
@Hypercycle_AI
Follow
Follow
View on X
MOSAIC (My Own Secure AI Companion) Screenpipe Showcase.
Screenpipe captures and streams your on‑device activity into a secure local AI layer, giving you real‑time context awareness.
Join the waitlist at
mosaic.spot
mosaic.spot
Play Video. 49 seconds long
Watch on X
Watch on X
7:59 PM · Mar 18, 2026
7:59 PM · Mar 18, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 6 replies
Read 6 replies
Visit this post on X
Hasan Toor Verified account
Hasan Toor
@hasantoxr
@hasantoxr
Follow
Follow
View on X
You can now give your AI a perfect memory of everything you've done on your computer.
Screenpipe records your screen and audio locally, lets you search anything with natural language, and connects to Claude, Cursor, and ChatGPT via MCP.
100% Open Source.
Play Video
Play
GIF
Watch on X
Watch on X
9:48 PM · Mar 22, 2026
9:48 PM · Mar 22, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 9 replies
Read 9 replies
Visit this post on X
みるぼん@スモビジ Verified account
みるぼん@スモビジ
@milbon_
@milbon_
Follow
Follow
View on X
AIが自分のことを自分以上に理解してる…。
PCの全履歴を記録するOSS「Screenpipe」が登場。画面+音声をローカル保存し、自然言語で検索。ClaudeやChatGPTとも連携し“過去の自分”を即参照可能。これで生産性10倍up。
詳細はリプ欄へ↓
Play Video
Play
GIF
Watch on X
Watch on X
9:46 AM · Mar 23, 2026
9:46 AM · Mar 23, 2026
X Ads info and privacy
Like. This post has 94 likes
94
Reply to this post on X
Reply
Copy link
Copy link
Read 1 reply
Read 1 reply
Visit this post on X
Julian Goldie SEO Verified account
Julian Goldie SEO
@JulianGoldieSEO
@JulianGoldieSEO
Follow
Follow
View on X
There’s a simple 4-step system to make Claude Code 100× smarter:
1. Capture your screen activity with ScreenPipe
2. Let AI analyze what you’re doing
3. Generate automation ideas automatically
4. Turn them into daily workflows inside OpenClaw
Your computer becomes a
Show more
Show more...
|
2086
|
|
2086
|
44
|
19
|
2026-04-12T09:24:24.321685+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985864321_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo)100% C78Sun 12 Apr 12:24:24-zshDOCKERmonitorsO ₴1DEV (-zsh)no monitors0 82availableAPP (-zsh)• *з-zsh• &4-zsh• *5-zsh86-zsh*7* Unable to acces...• 88audio devicesdisabledyou are using localprocessing. all your data stayson your computer.warning: telemetryis enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power: :manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05183985ZINFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e92026-04-12T12:10:05.184088Z2026-04-12T12:10:05.INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)184054ZINFO2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::calendar_speaker_id:speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.189984ZINFOscreenpipe_engine::meeting_detector: meeting V2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.194217Zscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030INFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-12T12:10:05..547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-0412T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-12T12:10:05621994ZINFO2026-04-screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping2026-04-12T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher (polling every 5 seconds)2026-04-12T12:10:05622056ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)2026-04-12T12:10:06.594061ZINFOscreenpipe_engine::event_driven_capture:2026-04-12T12:10:10.186195ZINFOstartup capture for monitor 1: frame_id=2007, dur=68msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10.186396ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04--12T12:11:11.494702ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB2026-04-12T12:11:17..232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 18.3MB → 6.2MBcompaction: 87 frones, 28. 3M8 6.3me (4.90), 89 38EC6(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.158642Z97 JPEGS deletedINFO2026-04-12T12:15:05180419ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)screenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:401843217INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-:12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligibleframes2026-04-12T12:20:40.179920ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFO2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16.430543ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
NULL
|
4752796483081062479
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo)100% C78Sun 12 Apr 12:24:24-zshDOCKERmonitorsO ₴1DEV (-zsh)no monitors0 82availableAPP (-zsh)• *з-zsh• &4-zsh• *5-zsh86-zsh*7* Unable to acces...• 88audio devicesdisabledyou are using localprocessing. all your data stayson your computer.warning: telemetryis enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power: :manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05183985ZINFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e92026-04-12T12:10:05.184088Z2026-04-12T12:10:05.INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)184054ZINFO2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::calendar_speaker_id:speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.189984ZINFOscreenpipe_engine::meeting_detector: meeting V2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.194217Zscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030INFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-12T12:10:05..547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-0412T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-12T12:10:05621994ZINFO2026-04-screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping2026-04-12T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher (polling every 5 seconds)2026-04-12T12:10:05622056ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)2026-04-12T12:10:06.594061ZINFOscreenpipe_engine::event_driven_capture:2026-04-12T12:10:10.186195ZINFOstartup capture for monitor 1: frame_id=2007, dur=68msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10.186396ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04--12T12:11:11.494702ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB2026-04-12T12:11:17..232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 18.3MB → 6.2MBcompaction: 87 frones, 28. 3M8 6.3me (4.90), 89 38EC6(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.158642Z97 JPEGS deletedINFO2026-04-12T12:15:05180419ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)screenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:401843217INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-:12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligibleframes2026-04-12T12:20:40.179920ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFO2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16.430543ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
NULL
|
|
2085
|
44
|
18
|
2026-04-12T09:24:23.038291+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985863038_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo)100% C78Sun 12 Apr 12:24:22-zshDOCKERmonitorsO ₴1DEV (-zsh)no monitors0 82availableAPP (-zsh)• *з-zsh• &4-zsh• *5-zsh86-zsh*7* Unable to acces...• 88audio devicesdisabledyou are using localprocessing. all your data stayson your computer.warning: telemetryis enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power: :manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05183985ZINFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e92026-04-12T12:10:05.184088Z2026-04-12T12:10:05.INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)184054ZINFO2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::calendar_speaker_id:speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.189984ZINFOscreenpipe_engine::meeting_detector: meeting V2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.194217Zscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030INFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-12T12:10:05..547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-0412T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-12T12:10:05621994ZINFO2026-04-screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping2026-04-12T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher (polling every 5 seconds)2026-04-12T12:10:05622056ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)2026-04-12T12:10:06.594061ZINFOscreenpipe_engine::event_driven_capture:2026-04-12T12:10:10.186195ZINFOstartup capture for monitor 1: frame_id=2007, dur=68msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10.186396ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04--12T12:11:11.494702ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB2026-04-12T12:11:17..232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 18.3MB → 6.2MBcompaction: 87 frones, 28. 3M8 6.3me (4.90), 89 38EC6(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.158642Z97 JPEGS deletedINFO2026-04-12T12:15:05180419ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)screenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:401843217INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-:12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligibleframes2026-04-12T12:20:40.179920ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFO2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16.430543ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
NULL
|
-6146907967043613416
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(alo)100% C78Sun 12 Apr 12:24:22-zshDOCKERmonitorsO ₴1DEV (-zsh)no monitors0 82availableAPP (-zsh)• *з-zsh• &4-zsh• *5-zsh86-zsh*7* Unable to acces...• 88audio devicesdisabledyou are using localprocessing. all your data stayson your computer.warning: telemetryis enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05163034ZINFOscreenpipe_engine::power: :manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-12T12:10:05.170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05183985ZINFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e92026-04-12T12:10:05.184088Z2026-04-12T12:10:05.INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-11 09:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)184054ZINFO2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::calendar_speaker_id:speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.189984ZINFOscreenpipe_engine::meeting_detector: meeting V2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.194217Zscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030INFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-12T12:10:05..547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-0412T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-12T12:10:05621994ZINFO2026-04-screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)-12T12:10:05622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping2026-04-12T12:10:05622028ZINFOscreenpipe_engine::vision_manager::monitor_watcher:monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher (polling every 5 seconds)2026-04-12T12:10:05622056ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)2026-04-12T12:10:06.594061ZINFOscreenpipe_engine::event_driven_capture:2026-04-12T12:10:10.186195ZINFOstartup capture for monitor 1: frame_id=2007, dur=68msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10.186396ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04--12T12:11:11.494702ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB2026-04-12T12:11:17..232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 18.3MB → 6.2MBcompaction: 87 frones, 28. 3M8 6.3me (4.90), 89 38EC6(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.158642Z97 JPEGS deletedINFO2026-04-12T12:15:05180419ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)screenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:401843217INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-:12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligibleframes2026-04-12T12:20:40.179920ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00 (14d retention)2026-04-12T12:21:17.250250ZINFO2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x), 7 JPEGs deleted2026-04-12T12:24:16.430543ZINFOscreenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
2084
|
|
2084
|
44
|
17
|
2026-04-12T09:24:22.424397+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985862424_m1.jpg...
|
Firefox
|
Download screenpipe — get started in minutes — Per Download screenpipe — get started in minutes — Personal...
|
True
|
screenpi.pe/onboarding
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said what is the origin of screenpipe. what country? WHere is it placed
You said
what is the origin of screenpipe. what country? WHere is it placed
Listen
Show more options
Show thinking
Gemini said
Gemini said
Screenpipe was originally created as a weekend project by
Louis Beaumont
, a French software engineer and serial entrepreneur.
He realized that while AI models were getting incredibly smart, they lacked the context of what users were actually doing on their screens.
To solve this, he built Screenpipe to act as a 24/7 local, privacy-first AI memory that captures screen and audio activity.
View source details for citations from Mother of Success and GitHub. Opens side panel.
+1
The open-source project quickly exploded in popularity on GitHub, leading Beaumont to formally found a company around it alongside his co-founder, Matthew.
Here is the breakdown of its current location:
Company Name:
Mediar, Inc.
(the parent company behind Screenpipe)
View source details for citation from Screenpipe. Opens side panel.
Country:
United States
View source details for citation from Screenpipe. Opens side panel.
Headquarters:
San Francisco, California
View source details for citation from GitHub. Opens side panel.
So while the creator has a European (French) background and works globally with open-source contributors, the official startup entity driving Screenpipe is based right out of San Francisco.
View source details for citation from Screenpipe. Opens side panel.
Sources
Sources
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying
discord feedback
Visit this post on X
Erick Verified account
Erick
@ErickSky
@ErickSky
Follow
Follow
View on X
ACABA DE SALIR
Tu computador ya puede recordar ABSOLUTAMENTE TODO lo que haces… sin pagar ni un dólar...
Reuniones que tuviste.
Diseños que hiciste.
Streams que viste.
TODO EN LOCAL.
OFFLINE.
GRATIS.
Y no, no necesitas una PC de la NASA.
Se llama
@screen_pipe
@screen_pipe
y es 100%
Show more
Show more
Play Video
Play
GIF
Watch on X
Watch on X
5:50 AM · Mar 6, 2026
5:50 AM · Mar 6, 2026
X Ads info and privacy
Like. This post has 306 likes
306
Reply to this post on X
Reply
Copy link
Copy link
Read 3 replies
Read 3 replies
Visit this post on X
Hypercycle Verified account
Hypercycle
@Hypercycle_AI
@Hypercycle_AI
Follow
Follow
View on X
MOSAIC (My Own Secure AI Companion) Screenpipe Showcase.
Screenpipe captures and streams your on‑device activity into a secure local AI layer, giving you real‑time context awareness.
Join the waitlist at
mosaic.spot
mosaic.spot
Play Video. 49 seconds long
Watch on X
Watch on X
7:59 PM · Mar 18, 2026
7:59 PM · Mar 18, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 6 replies
Read 6 replies
Visit this post on X
Hasan Toor Verified account
Hasan Toor
@hasantoxr
@hasantoxr
Follow
Follow
View on X
You can now give your AI a perfect memory of everything you've done on your computer.
Screenpipe records your screen and audio locally, lets you search anything with natural language, and connects to Claude, Cursor, and ChatGPT via MCP.
100% Open Source.
Play Video
Play
GIF
Watch on X
Watch on X
9:48 PM · Mar 22, 2026
9:48 PM · Mar 22, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 9 replies
Read 9 replies
Visit this post on X...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Download screenpipe — get started in minutes","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Download screenpipe — get started in minutes","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said what is the origin of screenpipe. what country? WHere is it placed","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what is the origin of screenpipe. what country? WHere is it placed","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe was originally created as a weekend project by","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Louis Beaumont","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", a French software engineer and serial entrepreneur.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"He realized that while AI models were getting incredibly smart, they lacked the context of what users were actually doing on their screens.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"To solve this, he built Screenpipe to act as a 24/7 local, privacy-first AI memory that captures screen and audio activity.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citations from Mother of Success and GitHub. Opens side panel.","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"+1","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The open-source project quickly exploded in popularity on GitHub, leading Beaumont to formally found a company around it alongside his co-founder, Matthew.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here is the breakdown of its current location:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Company Name:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mediar, Inc.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(the parent company behind Screenpipe)","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citation from Screenpipe. Opens side panel.","depth":29,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Country:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"United States","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citation from Screenpipe. Opens side panel.","depth":29,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Headquarters:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"San Francisco, California","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citation from GitHub. Opens side panel.","depth":29,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"So while the creator has a European (French) background and works globally with open-source contributors, the official startup entity driving Screenpipe is based right out of San Francisco.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citation from Screenpipe. Opens side panel.","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Sources","depth":26,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sources","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe logo screenpipe","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"EXPLORE","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EXPLORE","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"PRICING","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PRICING","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"TEAMS","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TEAMS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"DEVELOPERS","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DEVELOPERS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"my account","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"DOWNLOAD","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DOWNLOAD","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"get screenpipe","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"get screenpipe","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"01","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime license","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime license","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"desktop app, forever","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pre-built app, 2-min setup","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"code signed, no warnings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"automatic updates","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai-powered search & memory","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"scheduled ai agents (pipes)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 month screenpipe pro free","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $400","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BEST VALUE","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"02","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime + 1 year pro","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime + 1 year pro","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"the complete experience","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$868","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— save $268","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"everything in lifetime","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12 months screenpipe pro included","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"save $268 vs buying separately","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $600","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30-day money-back guarantee","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17,500+ github stars","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10,000+ discord members","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"HOW LICENSING WORKS","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"HOW LICENSING WORKS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"use on all your devices","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— laptop, desktop, macOS, Windows, Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 purchase = all platforms","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— works across every OS you own","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"no license key needed","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— just sign in with your email to download","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ADD-ON","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what is screenpipe pro?","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what is screenpipe pro?","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription — cloud-powered, beats local whisper","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6 — no api key needed","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive — your data, fully private","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices — sync pipes & configs to all your machines","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history — find anything from any device (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OR BUY SEPARATELY","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$35","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/month","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$39/mo without lifetime","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"have a license code?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"|","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"student?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"system requirements","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"system requirements","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"RAM","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"600 MB – 4 GB depending on settings","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CPU","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10–30% on Apple M3; similar on modern Intel/AMD","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"storage","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"~30 GB per month (configurable retention)","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS 13+, Windows 10+, Linux","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what our users are saying","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what our users are saying","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"discord feedback","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Erick Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Erick","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@ErickSky","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@ErickSky","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ACABA DE SALIR","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tu computador ya puede recordar ABSOLUTAMENTE TODO lo que haces… sin pagar ni un dólar...\n\nReuniones que tuviste.\nDiseños que hiciste.\nStreams que viste.\n\nTODO EN LOCAL.\nOFFLINE.\nGRATIS.\n\nY no, no necesitas una PC de la NASA.\n\nSe llama","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@screen_pipe","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@screen_pipe","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"y es 100%","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Show more","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show more","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Play","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GIF","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"5:50 AM · Mar 6, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"5:50 AM · Mar 6, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 306 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"306","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 3 replies","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 3 replies","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Hypercycle Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hypercycle","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@Hypercycle_AI","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@Hypercycle_AI","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"MOSAIC (My Own Secure AI Companion) Screenpipe Showcase. \n\nScreenpipe captures and streams your on‑device activity into a secure local AI layer, giving you real‑time context awareness.\nJoin the waitlist at","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"mosaic.spot","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"mosaic.spot","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video. 49 seconds long","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"7:59 PM · Mar 18, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"7:59 PM · Mar 18, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 51 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"51","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 6 replies","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 6 replies","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Hasan Toor Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hasan Toor","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@hasantoxr","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@hasantoxr","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"You can now give your AI a perfect memory of everything you've done on your computer.\n\nScreenpipe records your screen and audio locally, lets you search anything with natural language, and connects to Claude, Cursor, and ChatGPT via MCP.\n\n100% Open Source.","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Play","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GIF","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"9:48 PM · Mar 22, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"9:48 PM · Mar 22, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 51 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"51","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 9 replies","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 9 replies","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
470799998740269334
|
-6876660564702245320
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said what is the origin of screenpipe. what country? WHere is it placed
You said
what is the origin of screenpipe. what country? WHere is it placed
Listen
Show more options
Show thinking
Gemini said
Gemini said
Screenpipe was originally created as a weekend project by
Louis Beaumont
, a French software engineer and serial entrepreneur.
He realized that while AI models were getting incredibly smart, they lacked the context of what users were actually doing on their screens.
To solve this, he built Screenpipe to act as a 24/7 local, privacy-first AI memory that captures screen and audio activity.
View source details for citations from Mother of Success and GitHub. Opens side panel.
+1
The open-source project quickly exploded in popularity on GitHub, leading Beaumont to formally found a company around it alongside his co-founder, Matthew.
Here is the breakdown of its current location:
Company Name:
Mediar, Inc.
(the parent company behind Screenpipe)
View source details for citation from Screenpipe. Opens side panel.
Country:
United States
View source details for citation from Screenpipe. Opens side panel.
Headquarters:
San Francisco, California
View source details for citation from GitHub. Opens side panel.
So while the creator has a European (French) background and works globally with open-source contributors, the official startup entity driving Screenpipe is based right out of San Francisco.
View source details for citation from Screenpipe. Opens side panel.
Sources
Sources
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying
discord feedback
Visit this post on X
Erick Verified account
Erick
@ErickSky
@ErickSky
Follow
Follow
View on X
ACABA DE SALIR
Tu computador ya puede recordar ABSOLUTAMENTE TODO lo que haces… sin pagar ni un dólar...
Reuniones que tuviste.
Diseños que hiciste.
Streams que viste.
TODO EN LOCAL.
OFFLINE.
GRATIS.
Y no, no necesitas una PC de la NASA.
Se llama
@screen_pipe
@screen_pipe
y es 100%
Show more
Show more
Play Video
Play
GIF
Watch on X
Watch on X
5:50 AM · Mar 6, 2026
5:50 AM · Mar 6, 2026
X Ads info and privacy
Like. This post has 306 likes
306
Reply to this post on X
Reply
Copy link
Copy link
Read 3 replies
Read 3 replies
Visit this post on X
Hypercycle Verified account
Hypercycle
@Hypercycle_AI
@Hypercycle_AI
Follow
Follow
View on X
MOSAIC (My Own Secure AI Companion) Screenpipe Showcase.
Screenpipe captures and streams your on‑device activity into a secure local AI layer, giving you real‑time context awareness.
Join the waitlist at
mosaic.spot
mosaic.spot
Play Video. 49 seconds long
Watch on X
Watch on X
7:59 PM · Mar 18, 2026
7:59 PM · Mar 18, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 6 replies
Read 6 replies
Visit this post on X
Hasan Toor Verified account
Hasan Toor
@hasantoxr
@hasantoxr
Follow
Follow
View on X
You can now give your AI a perfect memory of everything you've done on your computer.
Screenpipe records your screen and audio locally, lets you search anything with natural language, and connects to Claude, Cursor, and ChatGPT via MCP.
100% Open Source.
Play Video
Play
GIF
Watch on X
Watch on X
9:48 PM · Mar 22, 2026
9:48 PM · Mar 22, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 9 replies
Read 9 replies
Visit this post on X...
|
NULL
|
|
2083
|
44
|
16
|
2026-04-12T09:24:19.383954+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985859383_m1.jpg...
|
Firefox
|
Download screenpipe — get started in minutes — Per Download screenpipe — get started in minutes — Personal...
|
True
|
screenpi.pe/onboarding
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said what is the origin of screenpipe. what country? WHere is it placed
You said
what is the origin of screenpipe. what country? WHere is it placed
Listen
Show more options
Show thinking
Gemini said
Gemini said
Screenpipe was originally created as a weekend project by
Louis Beaumont
, a French software engineer and serial entrepreneur.
He realized that while AI models were getting incredibly smart, they lacked the context of what users were actually doing on their screens.
To solve this, he built Screenpipe to act as a 24/7 local, privacy-first AI memory that captures screen and audio activity.
View source details for citations from Mother of Success and GitHub. Opens side panel.
+1
The open-source project quickly exploded in popularity on GitHub, leading Beaumont to formally found a company around it alongside his co-founder, Matthew.
Here is the breakdown of its current location:
Company Name:
Mediar, Inc.
(the parent company behind Screenpipe)
View source details for citation from Screenpipe. Opens side panel.
Country:
United States
View source details for citation from Screenpipe. Opens side panel.
Headquarters:
San Francisco, California
View source details for citation from GitHub. Opens side panel.
So while the creator has a European (French) background and works globally with open-source contributors, the official startup entity driving Screenpipe is based right out of San Francisco.
View source details for citation from Screenpipe. Opens side panel.
Sources
Sources
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying
discord feedback
Visit this post on X
Erick Verified account
Erick
@ErickSky
@ErickSky
Follow
Follow
View on X
ACABA DE SALIR
Tu computador ya puede recordar ABSOLUTAMENTE TODO lo que haces… sin pagar ni un dólar...
Reuniones que tuviste.
Diseños que hiciste.
Streams que viste.
TODO EN LOCAL.
OFFLINE.
GRATIS.
Y no, no necesitas una PC de la NASA.
Se llama
@screen_pipe
@screen_pipe
y es 100%
Show more
Show more
Play Video
Play
GIF
Watch on X
Watch on X
5:50 AM · Mar 6, 2026
5:50 AM · Mar 6, 2026
X Ads info and privacy
Like. This post has 306 likes
306
Reply to this post on X
Reply
Copy link
Copy link
Read 3 replies
Read 3 replies
Visit this post on X
Hypercycle Verified account
Hypercycle
@Hypercycle_AI
@Hypercycle_AI
Follow
Follow
View on X
MOSAIC (My Own Secure AI Companion) Screenpipe Showcase.
Screenpipe captures and streams your on‑device activity into a secure local AI layer, giving you real‑time context awareness.
Join the waitlist at
mosaic.spot
mosaic.spot
Play Video. 49 seconds long
Watch on X
Watch on X
7:59 PM · Mar 18, 2026
7:59 PM · Mar 18, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 6 replies
Read 6 replies
Visit this post on X
Hasan Toor Verified account
Hasan Toor
@hasantoxr
@hasantoxr
Follow
Follow
View on X
You can now give your AI a perfect memory of everything you've done on your computer.
Screenpipe records your screen and audio locally, lets you search anything with natural language, and connects to Claude, Cursor, and ChatGPT via MCP.
100% Open Source.
Play Video
Play
GIF
Watch on X
Watch on X
9:48 PM · Mar 22, 2026
9:48 PM · Mar 22, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 9 replies
Read 9 replies
Visit this post on X
みるぼん@スモビジ Verified account
みるぼん@スモビジ
@milbon_
@milbon_
Follow
Follow
View on X
AIが自分のことを自分以上に理解してる…。
PCの全履歴を記録するOSS「Screenpipe」が登場。画面+音声をローカル保存し、自然言語で検索。ClaudeやChatGPTとも連携し“過去の自分”を即参照可能。これで生産性10倍up。
詳細はリプ欄へ↓
Play Video
Play
GIF
Watch on X
Watch on X
9:46 AM · Mar 23, 2026
9:46 AM · Mar 23, 2026
X Ads info and privacy
Like. This post has 94 likes
94...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (1) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pazaruvaj.com — Знак, че е време за най-добрите оферти","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dangbei Atom Review - RTINGS.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dangbei Atom Review - RTINGS.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Download screenpipe — get started in minutes","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Download screenpipe — get started in minutes","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said what is the origin of screenpipe. what country? WHere is it placed","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what is the origin of screenpipe. what country? WHere is it placed","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe was originally created as a weekend project by","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Louis Beaumont","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", a French software engineer and serial entrepreneur.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"He realized that while AI models were getting incredibly smart, they lacked the context of what users were actually doing on their screens.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"To solve this, he built Screenpipe to act as a 24/7 local, privacy-first AI memory that captures screen and audio activity.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citations from Mother of Success and GitHub. Opens side panel.","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"+1","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The open-source project quickly exploded in popularity on GitHub, leading Beaumont to formally found a company around it alongside his co-founder, Matthew.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here is the breakdown of its current location:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Company Name:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mediar, Inc.","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(the parent company behind Screenpipe)","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citation from Screenpipe. Opens side panel.","depth":29,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Country:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"United States","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citation from Screenpipe. Opens side panel.","depth":29,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Headquarters:","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"San Francisco, California","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citation from GitHub. Opens side panel.","depth":29,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"So while the creator has a European (French) background and works globally with open-source contributors, the official startup entity driving Screenpipe is based right out of San Francisco.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details for citation from Screenpipe. Opens side panel.","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Sources","depth":26,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sources","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe logo screenpipe","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"EXPLORE","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EXPLORE","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"PRICING","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PRICING","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"TEAMS","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TEAMS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"DEVELOPERS","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DEVELOPERS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"my account","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"DOWNLOAD","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DOWNLOAD","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"get screenpipe","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"get screenpipe","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"01","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime license","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime license","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"desktop app, forever","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pre-built app, 2-min setup","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"code signed, no warnings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"automatic updates","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai-powered search & memory","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"scheduled ai agents (pipes)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pay once, use forever","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 month screenpipe pro free","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $400","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$400","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BEST VALUE","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"02","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"lifetime + 1 year pro","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lifetime + 1 year pro","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"the complete experience","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"one-time","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$868","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— save $268","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"everything in lifetime","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12 months screenpipe pro included","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"priority discord support","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"save $268 vs buying separately","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"BUY — $600","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"BUY —","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$600","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works on macOS, Windows & Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30-day money-back guarantee","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17,500+ github stars","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10,000+ discord members","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"HOW LICENSING WORKS","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"HOW LICENSING WORKS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"use on all your devices","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— laptop, desktop, macOS, Windows, Linux","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 purchase = all platforms","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— works across every OS you own","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"no license key needed","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— just sign in with your email to download","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ADD-ON","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what is screenpipe pro?","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what is screenpipe pro?","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10x more accurate transcription — cloud-powered, beats local whisper","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"built-in claude opus 4.6 — no api key needed","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"end-to-end encrypted cloud archive — your data, fully private","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted pipe sync across devices — sync pipes & configs to all your machines","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"searchable cloud history — find anything from any device (coming soon)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OR BUY SEPARATELY","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$35","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/month","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$39/mo without lifetime","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"have a license code?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"|","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"student?","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"system requirements","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"system requirements","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"RAM","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"600 MB – 4 GB depending on settings","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CPU","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10–30% on Apple M3; similar on modern Intel/AMD","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"storage","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"~30 GB per month (configurable retention)","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OS","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"macOS 13+, Windows 10+, Linux","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"what our users are saying","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"what our users are saying","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"discord feedback","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Erick Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Erick","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@ErickSky","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@ErickSky","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ACABA DE SALIR","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tu computador ya puede recordar ABSOLUTAMENTE TODO lo que haces… sin pagar ni un dólar...\n\nReuniones que tuviste.\nDiseños que hiciste.\nStreams que viste.\n\nTODO EN LOCAL.\nOFFLINE.\nGRATIS.\n\nY no, no necesitas una PC de la NASA.\n\nSe llama","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@screen_pipe","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@screen_pipe","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"y es 100%","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Show more","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show more","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Play","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GIF","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"5:50 AM · Mar 6, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"5:50 AM · Mar 6, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 306 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"306","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 3 replies","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 3 replies","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Hypercycle Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hypercycle","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@Hypercycle_AI","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@Hypercycle_AI","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"MOSAIC (My Own Secure AI Companion) Screenpipe Showcase. \n\nScreenpipe captures and streams your on‑device activity into a secure local AI layer, giving you real‑time context awareness.\nJoin the waitlist at","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"mosaic.spot","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"mosaic.spot","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video. 49 seconds long","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"7:59 PM · Mar 18, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"7:59 PM · Mar 18, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 51 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"51","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 6 replies","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 6 replies","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Hasan Toor Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hasan Toor","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@hasantoxr","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@hasantoxr","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"You can now give your AI a perfect memory of everything you've done on your computer.\n\nScreenpipe records your screen and audio locally, lets you search anything with natural language, and connects to Claude, Cursor, and ChatGPT via MCP.\n\n100% Open Source.","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Play","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GIF","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"9:48 PM · Mar 22, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"9:48 PM · Mar 22, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 51 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"51","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reply to this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reply","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy link","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copy link","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Read 9 replies","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Read 9 replies","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Visit this post on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"みるぼん@スモビジ Verified account","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"みるぼん@スモビジ","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@milbon_","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@milbon_","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Follow","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View on X","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AIが自分のことを自分以上に理解してる…。\n\nPCの全履歴を記録するOSS「Screenpipe」が登場。画面+音声をローカル保存し、自然言語で検索。ClaudeやChatGPTとも連携し“過去の自分”を即参照可能。これで生産性10倍up。\n\n詳細はリプ欄へ↓","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Play","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GIF","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Watch on X","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Watch on X","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"9:46 AM · Mar 23, 2026","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"9:46 AM · Mar 23, 2026","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"X Ads info and privacy","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Like. This post has 94 likes","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"94","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-4086662240989215932
|
-6876660573294278088
|
visual_change
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Sham DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Pazaruvaj.com — Знак, че е време за най-добрите оферти
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
Dangbei Atom Review - RTINGS.com
Dangbei Atom Review - RTINGS.com
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Screenpipe: Open Source 24/7 Screen & Audio Capture : r/software
Download screenpipe — get started in minutes
Download screenpipe — get started in minutes
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said what is the origin of screenpipe. what country? WHere is it placed
You said
what is the origin of screenpipe. what country? WHere is it placed
Listen
Show more options
Show thinking
Gemini said
Gemini said
Screenpipe was originally created as a weekend project by
Louis Beaumont
, a French software engineer and serial entrepreneur.
He realized that while AI models were getting incredibly smart, they lacked the context of what users were actually doing on their screens.
To solve this, he built Screenpipe to act as a 24/7 local, privacy-first AI memory that captures screen and audio activity.
View source details for citations from Mother of Success and GitHub. Opens side panel.
+1
The open-source project quickly exploded in popularity on GitHub, leading Beaumont to formally found a company around it alongside his co-founder, Matthew.
Here is the breakdown of its current location:
Company Name:
Mediar, Inc.
(the parent company behind Screenpipe)
View source details for citation from Screenpipe. Opens side panel.
Country:
United States
View source details for citation from Screenpipe. Opens side panel.
Headquarters:
San Francisco, California
View source details for citation from GitHub. Opens side panel.
So while the creator has a European (French) background and works globally with open-source contributors, the official startup entity driving Screenpipe is based right out of San Francisco.
View source details for citation from Screenpipe. Opens side panel.
Sources
Sources
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Screenpipe logo screenpipe
screenpipe
EXPLORE
EXPLORE
PRICING
PRICING
TEAMS
TEAMS
DEVELOPERS
DEVELOPERS
my account
DOWNLOAD
DOWNLOAD
get screenpipe
get screenpipe
pay once, use forever
01
lifetime license
lifetime license
desktop app, forever
$400
one-time
pre-built app, 2-min setup
code signed, no warnings
automatic updates
ai-powered search & memory
scheduled ai agents (pipes)
priority discord support
pay once, use forever
1 month screenpipe pro free
BUY — $400
BUY —
$400
works on macOS, Windows & Linux
BEST VALUE
02
lifetime + 1 year pro
lifetime + 1 year pro
the complete experience
$600
one-time
$868
— save $268
everything in lifetime
12 months screenpipe pro included
10x more accurate transcription
built-in claude opus 4.6
end-to-end encrypted cloud archive
encrypted pipe sync across devices
searchable cloud history (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
priority discord support
save $268 vs buying separately
BUY — $600
BUY —
$600
works on macOS, Windows & Linux
30-day money-back guarantee
17,500+ github stars
10,000+ discord members
HOW LICENSING WORKS
HOW LICENSING WORKS
use on all your devices
— laptop, desktop, macOS, Windows, Linux
1 purchase = all platforms
— works across every OS you own
no license key needed
— just sign in with your email to download
ADD-ON
what is screenpipe pro?
what is screenpipe pro?
10x more accurate transcription — cloud-powered, beats local whisper
built-in claude opus 4.6 — no api key needed
end-to-end encrypted cloud archive — your data, fully private
encrypted pipe sync across devices — sync pipes & configs to all your machines
searchable cloud history — find anything from any device (coming soon)
iOS & Android screen + audio capture with encrypted sync (coming Q3 2026)
OR BUY SEPARATELY
$35
/month
$39/mo without lifetime
have a license code?
|
student?
system requirements
system requirements
RAM
600 MB – 4 GB depending on settings
CPU
10–30% on Apple M3; similar on modern Intel/AMD
storage
~30 GB per month (configurable retention)
OS
macOS 13+, Windows 10+, Linux
works well on any machine from the last 3–4 years. if you can run Chrome, you can run screenpipe.
what our users are saying
what our users are saying
discord feedback
Visit this post on X
Erick Verified account
Erick
@ErickSky
@ErickSky
Follow
Follow
View on X
ACABA DE SALIR
Tu computador ya puede recordar ABSOLUTAMENTE TODO lo que haces… sin pagar ni un dólar...
Reuniones que tuviste.
Diseños que hiciste.
Streams que viste.
TODO EN LOCAL.
OFFLINE.
GRATIS.
Y no, no necesitas una PC de la NASA.
Se llama
@screen_pipe
@screen_pipe
y es 100%
Show more
Show more
Play Video
Play
GIF
Watch on X
Watch on X
5:50 AM · Mar 6, 2026
5:50 AM · Mar 6, 2026
X Ads info and privacy
Like. This post has 306 likes
306
Reply to this post on X
Reply
Copy link
Copy link
Read 3 replies
Read 3 replies
Visit this post on X
Hypercycle Verified account
Hypercycle
@Hypercycle_AI
@Hypercycle_AI
Follow
Follow
View on X
MOSAIC (My Own Secure AI Companion) Screenpipe Showcase.
Screenpipe captures and streams your on‑device activity into a secure local AI layer, giving you real‑time context awareness.
Join the waitlist at
mosaic.spot
mosaic.spot
Play Video. 49 seconds long
Watch on X
Watch on X
7:59 PM · Mar 18, 2026
7:59 PM · Mar 18, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 6 replies
Read 6 replies
Visit this post on X
Hasan Toor Verified account
Hasan Toor
@hasantoxr
@hasantoxr
Follow
Follow
View on X
You can now give your AI a perfect memory of everything you've done on your computer.
Screenpipe records your screen and audio locally, lets you search anything with natural language, and connects to Claude, Cursor, and ChatGPT via MCP.
100% Open Source.
Play Video
Play
GIF
Watch on X
Watch on X
9:48 PM · Mar 22, 2026
9:48 PM · Mar 22, 2026
X Ads info and privacy
Like. This post has 51 likes
51
Reply to this post on X
Reply
Copy link
Copy link
Read 9 replies
Read 9 replies
Visit this post on X
みるぼん@スモビジ Verified account
みるぼん@スモビジ
@milbon_
@milbon_
Follow
Follow
View on X
AIが自分のことを自分以上に理解してる…。
PCの全履歴を記録するOSS「Screenpipe」が登場。画面+音声をローカル保存し、自然言語で検索。ClaudeやChatGPTとも連携し“過去の自分”を即参照可能。これで生産性10倍up。
詳細はリプ欄へ↓
Play Video
Play
GIF
Watch on X
Watch on X
9:46 AM · Mar 23, 2026
9:46 AM · Mar 23, 2026
X Ads info and privacy
Like. This post has 94 likes
94...
|
2082
|
|
2082
|
44
|
15
|
2026-04-12T09:24:17.209515+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985857209_m1.jpg...
|
Firefox
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Term2ShellEditViewSessionScriptsProfilesWindowHelp Term2ShellEditViewSessionScriptsProfilesWindowHelp100% C8Sun 12 Apr 12:24:17-zshDOCKERmonitorsO ₴1DEV (-zsh)O $2APP (-zsh)• 83-zsh• &4-zsh• *5-zshnomonitorsavailableaudio devicesdisabledyou are using local processing. all your data stayson your computer.warning:telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05.163034ZINFOscreenpipe_engine: :power::manager: initial power profile: Performance (on_ac=true,battery=Some(100))20artingsessionstarted:1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e9C20091$Ited-zsh*7* Unable to acces...• 888408709:10:05.184087 UTC2026-04-12112:10:05.621994Z2026-04-12T12:10:05622006Z2026-04-12T12:10:05622028Z2026-04-12T12:10:05622056Z2026-04--12T12:10:06.456460Z2026-04-12T12:10:06..594061Z2026-04-12T12:10:10.186195Z2026-04--12T12:10:10.186396Z2026-04-12T12:11:05220594Z2026-04-12T12:11:11494702Z2026-04-12T12:11:17..232606Z2026-04-12T12:13:51.158642Z2026-04-12T12:15:05180419Z2026-04--12T12:15:40.184321Z2026-04-12T12:16:17.236544Z2026-04-12T12:20:40.179920Z2026-04-12T12:21:17.250250Z2026-04-12T12:21:18.107107Z2026-04-12T12:24:16.430543ZINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOFirefox(1440x900)screenpipe_engine: :v1s1on_managermanagerStartingevent-arivencapturetormonitor 1 (device:monitor_1)screenpipe_engine::vision_manager::manager:Skippingmonitor 2screenpipe_engine::vision_manager::monitor_watcher:(Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher(polling every 5 seconds)screenpipe_engine::event_driven_capture:event-drivencapturestarted formonitor 1 (device: monitor_1)sck_rs::stream_manager:persistent SCKstream startedfor display 1 (1440x900,screenpipe_engine:: event_driven.2fps)capture:startupscreenpipe_engine::retention:capture for monitor 1: frame_id=2007, dur=68msretention:initialized with 14d retentionscreenpipe:local retention auto-enabled (14days)screenpipe_engine::snapshot_compaction: snapshot compaction:found 181 eligible framesscreenpipe_engine::snapshot_compaction:snapshot compaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames,18.3MB → 6.2MBscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGS deletedcontent dedup: skippingscreenpipe_engine::server:capture for monitor 1 (hash=-5317717262786825427, trigger=click)api_usage_5min: 1 requestsscreenpipe_engine::retention:retention:cleaning updata before2026-03-29T09:15:40.184301+00:00(14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction:found 2 eligibleframesscreenpipe_engine::retention:retention:cleaning updata before2026-03-29709:20:40.179797+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x),7 JPEGs deletedscreenpipe_engine::event_driven_capture:content dedup: skippingcaptureformonitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
NULL
|
2237972692946860808
|
NULL
|
app_switch
|
ocr
|
NULL
|
Term2ShellEditViewSessionScriptsProfilesWindowHelp Term2ShellEditViewSessionScriptsProfilesWindowHelp100% C8Sun 12 Apr 12:24:17-zshDOCKERmonitorsO ₴1DEV (-zsh)O $2APP (-zsh)• 83-zsh• &4-zsh• *5-zshnomonitorsavailableaudio devicesdisabledyou are using local processing. all your data stayson your computer.warning:telemetry is enabled. only error-level data will be sent.to disable, use the --disable-telemetry flag.check latestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.156119ZINFO screenpipe: starting UIevent capture2026-04-12T12:10:05.1557242INFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-12T12:10:05.159681ZWARNscreenpipe: piagent install failed: bun not found - install from https://bun.sh2026-04-12T12:10:05.163034ZINFOscreenpipe_engine: :power::manager: initial power profile: Performance (on_ac=true,battery=Some(100))20artingsessionstarted:1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e9C20091$Ited-zsh*7* Unable to acces...• 888408709:10:05.184087 UTC2026-04-12112:10:05.621994Z2026-04-12T12:10:05622006Z2026-04-12T12:10:05622028Z2026-04-12T12:10:05622056Z2026-04--12T12:10:06.456460Z2026-04-12T12:10:06..594061Z2026-04-12T12:10:10.186195Z2026-04--12T12:10:10.186396Z2026-04-12T12:11:05220594Z2026-04-12T12:11:11494702Z2026-04-12T12:11:17..232606Z2026-04-12T12:13:51.158642Z2026-04-12T12:15:05180419Z2026-04--12T12:15:40.184321Z2026-04-12T12:16:17.236544Z2026-04-12T12:20:40.179920Z2026-04-12T12:21:17.250250Z2026-04-12T12:21:18.107107Z2026-04-12T12:24:16.430543ZINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOFirefox(1440x900)screenpipe_engine: :v1s1on_managermanagerStartingevent-arivencapturetormonitor 1 (device:monitor_1)screenpipe_engine::vision_manager::manager:Skippingmonitor 2screenpipe_engine::vision_manager::monitor_watcher:(Display 2_2560x1440_-597,-1440) - not in allowed listStarting monitor watcher(polling every 5 seconds)screenpipe_engine::event_driven_capture:event-drivencapturestarted formonitor 1 (device: monitor_1)sck_rs::stream_manager:persistent SCKstream startedfor display 1 (1440x900,screenpipe_engine:: event_driven.2fps)capture:startupscreenpipe_engine::retention:capture for monitor 1: frame_id=2007, dur=68msretention:initialized with 14d retentionscreenpipe:local retention auto-enabled (14days)screenpipe_engine::snapshot_compaction: snapshot compaction:found 181 eligible framesscreenpipe_engine::snapshot_compaction:snapshot compaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deletedscreenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames,18.3MB → 6.2MBscreenpipe_engine::event_driven_capture:(2.9x),97 JPEGS deletedcontent dedup: skippingscreenpipe_engine::server:capture for monitor 1 (hash=-5317717262786825427, trigger=click)api_usage_5min: 1 requestsscreenpipe_engine::retention:retention:cleaning updata before2026-03-29T09:15:40.184301+00:00(14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction:found 2 eligibleframesscreenpipe_engine::retention:retention:cleaning updata before2026-03-29709:20:40.179797+00:00 (14d retention)screenpipe_engine::snapshot_compaction:snapshot compaction: found 7 eligible framesscreenpipe_engine::snapshot_compaction:snapshot compaction: 7 frames,1.4MB → 0.8MB (1.7x),7 JPEGs deletedscreenpipe_engine::event_driven_capture:content dedup: skippingcaptureformonitor 1 (hash=4250924808526184698, trigger=visual_change)...
|
NULL
|
|
2081
|
44
|
14
|
2026-04-12T09:24:08.980845+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985848980_m1.jpg...
|
Firefox
|
Problem loading page — Work
|
True
|
app.dev.jiminny.com
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Problem loading page
Problem loading page
Close tab
Lukas Kovalik, here is your weekly update for 7 Apr - [EMAIL] - Jiminny Mail
Lukas Kovalik, here is your weekly update for 7 Apr - [EMAIL] - Jiminny Mail
Settings
Settings
Inbox (1,539) - [EMAIL] - Jiminny Mail
Inbox (1,539) - [EMAIL] - Jiminny Mail
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Problem loading page","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Problem loading page","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Lukas Kovalik, here is your weekly update for 7 Apr - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lukas Kovalik, here is your weekly update for 7 Apr - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Inbox (1,539) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Inbox (1,539) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Looks like there’s a problem with this site","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Looks like there’s a problem with this site","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox can’t connect to the server at","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"What can you do about it?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"What can you do about it?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Again","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Try Again","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
4250924808526184698
|
-1666782914745359995
|
click
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Problem loading page
Problem loading page
Close tab
Lukas Kovalik, here is your weekly update for 7 Apr - [EMAIL] - Jiminny Mail
Lukas Kovalik, here is your weekly update for 7 Apr - [EMAIL] - Jiminny Mail
Settings
Settings
Inbox (1,539) - [EMAIL] - Jiminny Mail
Inbox (1,539) - [EMAIL] - Jiminny Mail
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
2080
|
|
2080
|
44
|
13
|
2026-04-12T09:24:03.093679+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985843093_m1.jpg...
|
Firefox
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C78Sun 12 Apr 12:24:03-zshDOCKERmonitorsO ₴1DEV (-zsh)О 82APP (-zsh)• &3-zsh• ₴4-zsh• *5-zsh86-zsh*7T8* Unable to acces...• *8no monitors availableaudio devicesdisabledyou are using localprocessing. all yourdata stays on your computer.warning:telemetryisenabled.only error-level data will be sent.to disable, use the --disable-telemetry flag.checklatestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.1561192INFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.155724ZINFO2026-04-12T12:10:05.screenpipe_core::pipes:pipe scheduler started (generation 2)159681ZWARNscreenpipe: pi agent install failed: bun not found -install from https://bun.sh2026-04-12T12:10:05.163034Z2026-04-12T12:10:05INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985Z2026-04-12T12:10:05.INFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e9184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-1109:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFOscreenpipe_engine:: calendar_speaker_id: speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.1899847INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-12T12:10:05.194217ZINFOscreenpipe_connect::mdns: mdns:advertising screenpipe on port 30302026-0412T12:10:05547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 1440x900)2026-04-12T12:10:05621994ZINFOscreenpipe_engine::vision_manager::manager: Startingevent-drivencapture for monitor 1 (device:monitor_1)2026-04-12T12:10:05.622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-04-12T12:10:056220287INFO2026-04-12T12:10:05.622056Zscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher (polling every 5 seconds)INFOscreenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFO2026-04-12T12:10:065940617INFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900,2fps)screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=2007, dur=68ms2026-04--12T12:10:10.186195ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10..186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04--12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.4947027INFO2026-04-12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames,18.3MB → 6.2MB(2.9x),97 JPEGs deleted.158642ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04-12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFOscreenpipe_engine::retention:retention:cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 2 eligible frames2026-04-12T12:20:40.179920ZINFO2026-04-12T12:21:17.2502564INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00(14d retention)screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGS deleted...
|
NULL
|
2508543399616871902
|
NULL
|
app_switch
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C78Sun 12 Apr 12:24:03-zshDOCKERmonitorsO ₴1DEV (-zsh)О 82APP (-zsh)• &3-zsh• ₴4-zsh• *5-zsh86-zsh*7T8* Unable to acces...• *8no monitors availableaudio devicesdisabledyou are using localprocessing. all yourdata stays on your computer.warning:telemetryisenabled.only error-level data will be sent.to disable, use the --disable-telemetry flag.checklatestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.1561192INFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.155724ZINFO2026-04-12T12:10:05.screenpipe_core::pipes:pipe scheduler started (generation 2)159681ZWARNscreenpipe: pi agent install failed: bun not found -install from https://bun.sh2026-04-12T12:10:05.163034Z2026-04-12T12:10:05INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985Z2026-04-12T12:10:05.INFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e9184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-1109:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFOscreenpipe_engine:: calendar_speaker_id: speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.1899847INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-12T12:10:05.194217ZINFOscreenpipe_connect::mdns: mdns:advertising screenpipe on port 30302026-0412T12:10:05547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 1440x900)2026-04-12T12:10:05621994ZINFOscreenpipe_engine::vision_manager::manager: Startingevent-drivencapture for monitor 1 (device:monitor_1)2026-04-12T12:10:05.622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-04-12T12:10:056220287INFO2026-04-12T12:10:05.622056Zscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher (polling every 5 seconds)INFOscreenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFO2026-04-12T12:10:065940617INFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900,2fps)screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=2007, dur=68ms2026-04--12T12:10:10.186195ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10..186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04--12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.4947027INFO2026-04-12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames,18.3MB → 6.2MB(2.9x),97 JPEGs deleted.158642ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04-12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFOscreenpipe_engine::retention:retention:cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 2 eligible frames2026-04-12T12:20:40.179920ZINFO2026-04-12T12:21:17.2502564INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00(14d retention)screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGS deleted...
|
NULL
|
|
2079
|
44
|
12
|
2026-04-12T09:24:02.318267+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985842318_m1.jpg...
|
Claude
|
Claude
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Close sidebar
Back
Forward
Chat
Cowork
Code
Close Close sidebar
Back
Forward
Chat
Cowork
Code
Close sidebar
New task
New task
⇧⌘O
Search
Search
⌘K
Scheduled
Scheduled
Projects
Projects
Dispatch
Dispatch
Ideas
Ideas
Customize
Customize
Recents Hide
Recents
Hide
DispatchList Downloads folder
Dispatch
List Downloads folder
More options for List Downloads folder
These tasks run locally and aren't synced across devices
Lukas Kovalik, Settings
LK
Lukas Kovalik
Pro plan
Get apps and extensions
Set up Cowork
Set up Cowork
More options for Set up Cowork
/
setup-cowork
Copy
Preparing session...
·
22s
Reply...
Reply...
Add files, connectors, and more
Sonnet 4.6
Sonnet 4.6
Stop response
Queue message
Queue
Claude is AI and can make mistakes. Please double-check responses.
Progress
See task progress for longer tasks.
Working folder
View and open files created during this task.
Context
Track tools and referenced files used in this task....
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Close sidebar","depth":11,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Back","depth":11,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward","depth":11,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Chat","depth":12,"role_description":"radio button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Cowork","depth":12,"role_description":"radio button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Code","depth":12,"role_description":"radio button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close sidebar","depth":12,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"New task","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"New task","depth":18,"role_description":"text"},{"role":"AXStaticText","text":"⇧⌘O","depth":17,"role_description":"text"},{"role":"AXLink","text":"Search","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Search","depth":18,"role_description":"text"},{"role":"AXStaticText","text":"⌘K","depth":17,"role_description":"text"},{"role":"AXLink","text":"Scheduled","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Scheduled","depth":18,"role_description":"text"},{"role":"AXLink","text":"Projects","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Projects","depth":18,"role_description":"text"},{"role":"AXLink","text":"Dispatch","depth":17,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Dispatch","depth":19,"role_description":"text"},{"role":"AXLink","text":"Ideas","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Ideas","depth":18,"role_description":"text"},{"role":"AXLink","text":"Customize","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Customize","depth":18,"role_description":"text"},{"role":"AXButton","text":"Recents Hide","depth":18,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Recents","depth":19,"role_description":"text"},{"role":"AXStaticText","text":"Hide","depth":19,"role_description":"text"},{"role":"AXLink","text":"DispatchList Downloads folder","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Dispatch","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"List Downloads folder","depth":23,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for List Downloads folder","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"These tasks run locally and aren't synced across devices","depth":19,"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Kovalik, Settings","depth":16,"bounds":{"left":0.47430557,"top":0.0,"width":0.19930555,"height":0.07111111},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"LK","depth":19,"bounds":{"left":0.49097222,"top":0.0,"width":0.015277778,"height":0.023333333},"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"bounds":{"left":0.52013886,"top":0.0,"width":0.063194446,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"Pro plan","depth":17,"bounds":{"left":0.52013886,"top":0.0,"width":0.031944446,"height":0.016666668},"role_description":"text"},{"role":"AXButton","text":"Get apps and extensions","depth":18,"bounds":{"left":0.625,"top":0.0,"width":0.022222223,"height":0.035555556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Set up Cowork","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Set up Cowork","depth":18,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Set up Cowork","depth":16,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"/","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"setup-cowork","depth":22,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":19,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Preparing session...","depth":18,"role_description":"text"},{"role":"AXStaticText","text":"·","depth":18,"role_description":"text"},{"role":"AXStaticText","text":"22s","depth":18,"role_description":"text"},{"role":"AXTextArea","text":"Reply...","depth":22,"value":"Reply...","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Reply...","depth":25,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":24,"bounds":{"left":0.69166666,"top":0.0,"width":0.022222223,"height":0.035555556},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Sonnet 4.6","depth":23,"bounds":{"left":0.95763886,"top":0.0,"width":0.04236114,"height":0.035555556},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sonnet 4.6","depth":25,"bounds":{"left":0.96458334,"top":0.0,"width":0.035416663,"height":0.02},"role_description":"text"},{"role":"AXButton","text":"Stop response","depth":22,"bounds":{"left":1.0,"top":0.0,"width":-0.03472221,"height":0.035555556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Queue message","depth":23,"bounds":{"left":1.0,"top":0.0,"width":-0.059722185,"height":0.035555556},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Queue","depth":24,"bounds":{"left":1.0,"top":0.0,"width":-0.08333337,"height":0.016666668},"role_description":"text"},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":19,"bounds":{"left":0.76944447,"top":0.0,"width":0.23055553,"height":0.016666668},"role_description":"text"},{"role":"AXButton","text":"Progress","depth":15,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"See task progress for longer tasks.","depth":16,"role_description":"text"},{"role":"AXButton","text":"Working folder","depth":15,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"View and open files created during this task.","depth":17,"role_description":"text"},{"role":"AXButton","text":"Context","depth":15,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Track tools and referenced files used in this task.","depth":16,"role_description":"text"}]...
|
-5074967390181278754
|
2591743621378047263
|
app_switch
|
accessibility
|
NULL
|
Close sidebar
Back
Forward
Chat
Cowork
Code
Close Close sidebar
Back
Forward
Chat
Cowork
Code
Close sidebar
New task
New task
⇧⌘O
Search
Search
⌘K
Scheduled
Scheduled
Projects
Projects
Dispatch
Dispatch
Ideas
Ideas
Customize
Customize
Recents Hide
Recents
Hide
DispatchList Downloads folder
Dispatch
List Downloads folder
More options for List Downloads folder
These tasks run locally and aren't synced across devices
Lukas Kovalik, Settings
LK
Lukas Kovalik
Pro plan
Get apps and extensions
Set up Cowork
Set up Cowork
More options for Set up Cowork
/
setup-cowork
Copy
Preparing session...
·
22s
Reply...
Reply...
Add files, connectors, and more
Sonnet 4.6
Sonnet 4.6
Stop response
Queue message
Queue
Claude is AI and can make mistakes. Please double-check responses.
Progress
See task progress for longer tasks.
Working folder
View and open files created during this task.
Context
Track tools and referenced files used in this task....
|
NULL
|
|
2078
|
44
|
11
|
2026-04-12T09:24:01.226597+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985841226_m1.jpg...
|
Firefox
|
Problem loading page — Work
|
True
|
app.dev.jiminny.com
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Problem loading page
Problem loading page
Close tab
Lukas Kovalik, here is your weekly update for 7 Apr - [EMAIL] - Jiminny Mail
Lukas Kovalik, here is your weekly update for 7 Apr - [EMAIL] - Jiminny Mail
Settings
Settings
Inbox (1,539) - [EMAIL] - Jiminny Mail
Inbox (1,539) - [EMAIL] - Jiminny Mail
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Problem loading page","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Problem loading page","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Lukas Kovalik, here is your weekly update for 7 Apr - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lukas Kovalik, here is your weekly update for 7 Apr - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Inbox (1,539) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Inbox (1,539) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Looks like there’s a problem with this site","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Looks like there’s a problem with this site","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox can’t connect to the server at","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"What can you do about it?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"What can you do about it?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Again","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Try Again","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
4250924808526184698
|
-1666782914745359995
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Problem loading page
Problem loading page
Close tab
Lukas Kovalik, here is your weekly update for 7 Apr - [EMAIL] - Jiminny Mail
Lukas Kovalik, here is your weekly update for 7 Apr - [EMAIL] - Jiminny Mail
Settings
Settings
Inbox (1,539) - [EMAIL] - Jiminny Mail
Inbox (1,539) - [EMAIL] - Jiminny Mail
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
2077
|
|
2077
|
44
|
10
|
2026-04-12T09:23:38.688455+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985818688_m1.jpg...
|
Claude
|
Claude
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Close sidebar
Back
Forward
Chat
Cowork
Code
New ta Close sidebar
Back
Forward
Chat
Cowork
Code
New task
New task
⇧⌘O
Search
Search
⌘K
Scheduled
Scheduled
Projects
Projects
Dispatch
Dispatch
Ideas
Ideas
Customize
Customize
Recents Hide
Recents
Hide
DispatchList Downloads folder
Dispatch
List Downloads folder
More options for List Downloads folder
These tasks run locally and aren't synced across devices
Lukas Kovalik, Settings
LK
Lukas Kovalik
Pro plan
Get apps and extensions
Let's knock something off your list
Let's knock something off your list
Cowork is in research preview.
Learn how to use it safely
Learn how to use it safely
.
Help me find patterns and insights across [my voice memos / meeting transcripts / documents / journal entries / specify folder]. I have messy, unstructured files and want to understand what themes are emerging.
First, scan the folder and show me a summary:
- Total files
- Date range (oldest to newest)
- Types of content
Before analyzing, ask me:
- What I'm hoping to discover (recurring themes, contradictions, evolution of thinking, action items, or something else)
- Whether certain files or time periods should be prioritized
- What format would be most useful for the final analysis
If there are more than 20 files, start by analyzing just the 10 most recent files.
Show me the top 3-5 patterns you found with 2-3 specific examples for each pattern. Once I confirm you're on the right track, analyze the remaining files.
Help me find patterns and insights across [my voice memos / meeting transcripts / documents / journal entries / specify folder]. I have messy, unstructured files and want to understand what themes are emerging.
First, scan the folder and show me a summary:
- Total files
- Date range (oldest to newest)
- Types of content
Before analyzing, ask me:
- What I'm hoping to discover (recurring themes, contradictions, evolution of thinking, action items, or something else)
- Whether certain files or time periods should be prioritized
- What format would be most useful for the final analysis
If there are more than 20 files, start by analyzing just the 10 most recent files.
Show me the top 3-5 patterns you found with 2-3 specific examples for each pattern. Once I confirm you're on the right track, analyze the remaining files.
Work in a project
Work in a project
Add files, connectors, and more
Sonnet 4.6
Sonnet 4.6
Start task
Let's go
Active tasks
Active tasks
Clear active
List Downloads folder
List Downloads folder
21 days ago
Set up for how you work
Get tools recommended for your role and set up Cowork in minutes.
Let's go
Let's go
Dismiss...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Close sidebar","depth":11,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Back","depth":11,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward","depth":11,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Chat","depth":12,"role_description":"radio button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Cowork","depth":12,"role_description":"radio button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Code","depth":12,"role_description":"radio button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"New task","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"New task","depth":18,"role_description":"text"},{"role":"AXStaticText","text":"⇧⌘O","depth":17,"role_description":"text"},{"role":"AXLink","text":"Search","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Search","depth":18,"role_description":"text"},{"role":"AXStaticText","text":"⌘K","depth":17,"role_description":"text"},{"role":"AXLink","text":"Scheduled","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Scheduled","depth":18,"role_description":"text"},{"role":"AXLink","text":"Projects","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Projects","depth":18,"role_description":"text"},{"role":"AXLink","text":"Dispatch","depth":17,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Dispatch","depth":19,"role_description":"text"},{"role":"AXLink","text":"Ideas","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Ideas","depth":18,"role_description":"text"},{"role":"AXLink","text":"Customize","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Customize","depth":18,"role_description":"text"},{"role":"AXButton","text":"Recents Hide","depth":18,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Recents","depth":19,"role_description":"text"},{"role":"AXStaticText","text":"Hide","depth":19,"role_description":"text"},{"role":"AXLink","text":"DispatchList Downloads folder","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Dispatch","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"List Downloads folder","depth":23,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for List Downloads folder","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"These tasks run locally and aren't synced across devices","depth":19,"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Kovalik, Settings","depth":16,"bounds":{"left":0.47430557,"top":0.0,"width":0.19930555,"height":0.07111111},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"LK","depth":19,"bounds":{"left":0.49097222,"top":0.0,"width":0.015277778,"height":0.023333333},"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"bounds":{"left":0.52013886,"top":0.0,"width":0.063194446,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"Pro plan","depth":17,"bounds":{"left":0.52013886,"top":0.0,"width":0.031944446,"height":0.016666668},"role_description":"text"},{"role":"AXButton","text":"Get apps and extensions","depth":18,"bounds":{"left":0.625,"top":0.0,"width":0.022222223,"height":0.035555556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Let's knock something off your list","depth":15,"role_description":"heading"},{"role":"AXStaticText","text":"Let's knock something off your list","depth":16,"role_description":"text"},{"role":"AXStaticText","text":"Cowork is in research preview.","depth":16,"role_description":"text"},{"role":"AXLink","text":"Learn how to use it safely","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Learn how to use it safely","depth":17,"role_description":"text"},{"role":"AXStaticText","text":".","depth":16,"role_description":"text"},{"role":"AXTextArea","text":"Help me find patterns and insights across [my voice memos / meeting transcripts / documents / journal entries / specify folder]. I have messy, unstructured files and want to understand what themes are emerging.\nFirst, scan the folder and show me a summary:\n- Total files\n- Date range (oldest to newest)\n- Types of content\nBefore analyzing, ask me:\n- What I'm hoping to discover (recurring themes, contradictions, evolution of thinking, action items, or something else)\n- Whether certain files or time periods should be prioritized\n- What format would be most useful for the final analysis\nIf there are more than 20 files, start by analyzing just the 10 most recent files.\nShow me the top 3-5 patterns you found with 2-3 specific examples for each pattern. Once I confirm you're on the right track, analyze the remaining files.","depth":20,"value":"Help me find patterns and insights across [my voice memos / meeting transcripts / documents / journal entries / specify folder]. I have messy, unstructured files and want to understand what themes are emerging.\nFirst, scan the folder and show me a summary:\n- Total files\n- Date range (oldest to newest)\n- Types of content\nBefore analyzing, ask me:\n- What I'm hoping to discover (recurring themes, contradictions, evolution of thinking, action items, or something else)\n- Whether certain files or time periods should be prioritized\n- What format would be most useful for the final analysis\nIf there are more than 20 files, start by analyzing just the 10 most recent files.\nShow me the top 3-5 patterns you found with 2-3 specific examples for each pattern. Once I confirm you're on the right track, analyze the remaining files.","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Help me find patterns and insights across [my voice memos / meeting transcripts / documents / journal entries / specify folder]. I have messy, unstructured files and want to understand what themes are emerging.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"First, scan the folder and show me a summary:","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"- Total files","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"- Date range (oldest to newest)","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"- Types of content","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Before analyzing, ask me:","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"- What I'm hoping to discover (recurring themes, contradictions, evolution of thinking, action items, or something else)","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"- Whether certain files or time periods should be prioritized","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"- What format would be most useful for the final analysis","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"If there are more than 20 files, start by analyzing just the 10 most recent files.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Show me the top 3-5 patterns you found with 2-3 specific examples for each pattern. Once I confirm you're on the right track, analyze the remaining files.","depth":22,"role_description":"text"},{"role":"AXPopUpButton","text":"Work in a project","depth":21,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Work in a project","depth":22,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":21,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Sonnet 4.6","depth":20,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sonnet 4.6","depth":22,"role_description":"text"},{"role":"AXButton","text":"Start task","depth":20,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Let's go","depth":21,"role_description":"text"},{"role":"AXHeading","text":"Active tasks","depth":16,"role_description":"heading"},{"role":"AXStaticText","text":"Active tasks","depth":17,"role_description":"text"},{"role":"AXButton","text":"Clear active","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"List Downloads folder","depth":17,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"List Downloads folder","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"21 days ago","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"Set up for how you work","depth":16,"role_description":"text"},{"role":"AXStaticText","text":"Get tools recommended for your role and set up Cowork in minutes.","depth":16,"role_description":"text"},{"role":"AXButton","text":"Let's go","depth":15,"role_description":"button","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Let's go","depth":16,"role_description":"text"},{"role":"AXButton","text":"Dismiss","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
1961147771960641182
|
8469474106196587798
|
click
|
accessibility
|
NULL
|
Close sidebar
Back
Forward
Chat
Cowork
Code
New ta Close sidebar
Back
Forward
Chat
Cowork
Code
New task
New task
⇧⌘O
Search
Search
⌘K
Scheduled
Scheduled
Projects
Projects
Dispatch
Dispatch
Ideas
Ideas
Customize
Customize
Recents Hide
Recents
Hide
DispatchList Downloads folder
Dispatch
List Downloads folder
More options for List Downloads folder
These tasks run locally and aren't synced across devices
Lukas Kovalik, Settings
LK
Lukas Kovalik
Pro plan
Get apps and extensions
Let's knock something off your list
Let's knock something off your list
Cowork is in research preview.
Learn how to use it safely
Learn how to use it safely
.
Help me find patterns and insights across [my voice memos / meeting transcripts / documents / journal entries / specify folder]. I have messy, unstructured files and want to understand what themes are emerging.
First, scan the folder and show me a summary:
- Total files
- Date range (oldest to newest)
- Types of content
Before analyzing, ask me:
- What I'm hoping to discover (recurring themes, contradictions, evolution of thinking, action items, or something else)
- Whether certain files or time periods should be prioritized
- What format would be most useful for the final analysis
If there are more than 20 files, start by analyzing just the 10 most recent files.
Show me the top 3-5 patterns you found with 2-3 specific examples for each pattern. Once I confirm you're on the right track, analyze the remaining files.
Help me find patterns and insights across [my voice memos / meeting transcripts / documents / journal entries / specify folder]. I have messy, unstructured files and want to understand what themes are emerging.
First, scan the folder and show me a summary:
- Total files
- Date range (oldest to newest)
- Types of content
Before analyzing, ask me:
- What I'm hoping to discover (recurring themes, contradictions, evolution of thinking, action items, or something else)
- Whether certain files or time periods should be prioritized
- What format would be most useful for the final analysis
If there are more than 20 files, start by analyzing just the 10 most recent files.
Show me the top 3-5 patterns you found with 2-3 specific examples for each pattern. Once I confirm you're on the right track, analyze the remaining files.
Work in a project
Work in a project
Add files, connectors, and more
Sonnet 4.6
Sonnet 4.6
Start task
Let's go
Active tasks
Active tasks
Clear active
List Downloads folder
List Downloads folder
21 days ago
Set up for how you work
Get tools recommended for your role and set up Cowork in minutes.
Let's go
Let's go
Dismiss...
|
NULL
|
|
2076
|
44
|
9
|
2026-04-12T09:23:22.861103+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985802861_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C78Sun 12 Apr 12:23:22-zshDOCKERmonitorsO ₴1DEV (-zsh)О 82APP (-zsh)• &3-zsh• ₴4-zsh• *5-zsh86-zsh*7T8* Unable to acces...• *8no monitors availableaudio devicesdisabledyou are using localprocessing. all yourdata stays on your computer.warning:telemetryisenabled.only error-level data will be sent.to disable, use the --disable-telemetry flag.checklatestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.1561192INFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.155724ZINFO2026-04-12T12:10:05.screenpipe_core::pipes:pipe scheduler started (generation 2)159681ZWARNscreenpipe: pi agent install failed: bun not found -install from https://bun.sh2026-04-12T12:10:05.163034Z2026-04-12T12:10:05INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985Z2026-04-12T12:10:05.INFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e9184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-1109:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFOscreenpipe_engine:: calendar_speaker_id: speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.1899847INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-12T12:10:05.194217ZINFOscreenpipe_connect::mdns: mdns:advertising screenpipe on port 30302026-0412T12:10:05547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 1440x900)2026-04-12T12:10:05621994ZINFOscreenpipe_engine::vision_manager::manager: Startingevent-drivencapture for monitor 1 (device:monitor_1)2026-04-12T12:10:05.622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-04-12T12:10:056220287INFO2026-04-12T12:10:05.622056Zscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher (polling every 5 seconds)INFOscreenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFO2026-04-12T12:10:065940617INFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900,2fps)screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=2007, dur=68ms2026-04--12T12:10:10.186195ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10..186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04--12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.4947027INFO2026-04-12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames,18.3MB → 6.2MB(2.9x),97 JPEGs deleted.158642ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04-12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFOscreenpipe_engine::retention:retention:cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 2 eligible frames2026-04-12T12:20:40.179920ZINFO2026-04-12T12:21:17.2502564INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00(14d retention)screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGS deleted...
|
NULL
|
201797685348821519
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C78Sun 12 Apr 12:23:22-zshDOCKERmonitorsO ₴1DEV (-zsh)О 82APP (-zsh)• &3-zsh• ₴4-zsh• *5-zsh86-zsh*7T8* Unable to acces...• *8no monitors availableaudio devicesdisabledyou are using localprocessing. all yourdata stays on your computer.warning:telemetryisenabled.only error-level data will be sent.to disable, use the --disable-telemetry flag.checklatestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.1561192INFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.155724ZINFO2026-04-12T12:10:05.screenpipe_core::pipes:pipe scheduler started (generation 2)159681ZWARNscreenpipe: pi agent install failed: bun not found -install from https://bun.sh2026-04-12T12:10:05.163034Z2026-04-12T12:10:05INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985Z2026-04-12T12:10:05.INFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e9184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-1109:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFOscreenpipe_engine:: calendar_speaker_id: speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.1899847INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-12T12:10:05.194217ZINFOscreenpipe_connect::mdns: mdns:advertising screenpipe on port 30302026-0412T12:10:05547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 1440x900)2026-04-12T12:10:05621994ZINFOscreenpipe_engine::vision_manager::manager: Startingevent-drivencapture for monitor 1 (device:monitor_1)2026-04-12T12:10:05.622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-04-12T12:10:056220287INFO2026-04-12T12:10:05.622056Zscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher (polling every 5 seconds)INFOscreenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFO2026-04-12T12:10:065940617INFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900,2fps)screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=2007, dur=68ms2026-04--12T12:10:10.186195ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10..186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04--12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.4947027INFO2026-04-12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames,18.3MB → 6.2MB(2.9x),97 JPEGs deleted.158642ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04-12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFOscreenpipe_engine::retention:retention:cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 2 eligible frames2026-04-12T12:20:40.179920ZINFO2026-04-12T12:21:17.2502564INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00(14d retention)screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGS deleted...
|
2075
|
|
2075
|
44
|
8
|
2026-04-12T09:23:22.099605+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985802099_m1.jpg...
|
Claude
|
Claude
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Close sidebar
Back
Forward
Chat
Cowork
Code
New ch Close sidebar
Back
Forward
Chat
Cowork
Code
New chat
New chat
⇧⌘O
Search
Search
⌘K
Customize
Customize
Chats
Chats
Projects
Projects
Artifacts
Artifacts
Starred
Starred
Bulgarian citizenship application process for EU residents
Bulgarian citizenship application process for EU residents
Dawarich location tracking project
Dawarich location tracking project
Recents Hide
Recents
Hide
Understanding OpenRouter API gateway
Understanding OpenRouter API gateway
Screenpipe query capabilities and usage
Screenpipe query capabilities and usage
More options for Screenpipe query capabilities and usage
Screenpipe 14-day retention explained
Screenpipe 14-day retention explained
Reddit homepage feed overview
Reddit homepage feed overview
Docker container not visible in console
Docker container not visible in console
DIA browser RAM configuration
DIA browser RAM configuration
Screenpipe company background
Screenpipe company background
DSK Bank Bulgaria secure investing explained
DSK Bank Bulgaria secure investing explained
Building a comprehensive personal homelab system
Building a comprehensive personal homelab system
Importing Google Timeline data to Owntracks
Importing Google Timeline data to Owntracks
Chromecast remote volume buttons not working
Chromecast remote volume buttons not working
Screenpipe free version guide
Screenpipe free version guide
Self-hosted LLM alternatives to Claude Sonnet
Self-hosted LLM alternatives to Claude Sonnet
Screenpipe database query setup
Screenpipe database query setup
Running screenpipe for free
Running screenpipe for free
Mac Studio network switch setup
Mac Studio network switch setup
Claude extension in Vivaldi browser
Claude extension in Vivaldi browser
General information request
General information request
Red dots on neck causes
Red dots on neck causes
Change approval
Change approval
Querying Screenpipe with Claude AI
Querying Screenpipe with Claude AI
Setting up daily backups in Ugreen NAS
Setting up daily backups in Ugreen NAS
Upcoming reminders
Upcoming reminders
Accessing tools in Open WebUI
Accessing tools in Open WebUI
Laravel issue troubleshooting
Laravel issue troubleshooting
Reminder to take rodný list
Reminder to take rodný list
Setting up reminders in Open WebUI
Setting up reminders in Open WebUI
NAS reverse proxy access issues after UGOS update
NAS reverse proxy access issues after UGOS update
Reminders summary and management
Reminders summary and management
Self-hosted screen recording and activity tracking
Self-hosted screen recording and activity tracking
All chats
All chats
Lukas Kovalik, Settings
LK
Lukas Kovalik
Pro plan
Get apps and extensions
Screenpipe query capabilities and usage
Screenpipe query capabilities and usage
More options for Screenpipe query capabilities and usage
how to query screenpipe. WHat queries can i make to laverage fully form the app
20:54
Retry
Edit
Copy
Relevant chats
Relevant chats
Here's a full breakdown of how to query Screenpipe, both via its REST API and via MCP:
REST API (localhost:3030)
REST API (localhost
:3030
)
The main query endpoint:
Copy to clipboard
bash
GET http://localhost:3030/search
Core parameters
Core parameters
Param
Values
Notes
q
any text
Full-text search across OCR + audio
content_type
ocr
,
audio
,
all
Default:
all
limit
integer
Results to return
offset
integer
Pagination
start_time
ISO 8601
e.g.
2026-04-11T09:00:00
end_time
ISO 8601
e.g.
2026-04-11T18:00:00
app_name
string
e.g.
PhpStorm
,
Slack
,
Arc
window_name
string
Window title substring match
min_length
integer
Min chars in result
speaker_ids
array
For audio — filter by speaker
Param
q
content_type
limit
offset
start_time
end_time
app_name
window_name
min_length
speaker_ids
Values
any text
ocr
,
audio
,
all
integer
integer
ISO 8601
ISO 8601
string
string
integer
array
Notes
Full-text search across OCR + audio
Default:
all
Results to return
Pagination
e.g.
2026-04-11T09:00:00
e.g.
2026-04-11T18:00:00
e.g.
PhpStorm
,
Slack
,
Arc
Window title substring match
Min chars in result
For audio — filter by speaker
Param
Values
Notes
Example queries
Example queries
"What was I doing this morning?"
Copy to clipboard
bash
curl
"http://localhost:3030/search?content_type=all&start_time=2026-04-11T08:00:00&end_time=2026-04-11T12:00:00&limit=50"
"What code was in PhpStorm today?"
Copy to clipboard
bash
curl
"http://localhost:3030/search?content_type=ocr&app_name=PhpStorm&start_time=2026-04-11T00:00:00&limit=100"
"What did I read in Slack about deployments?"
Copy to clipboard
bash
curl
"http://localhost:3030/search?q=deployment&app_name=Slack&content_type=ocr"
"What was on screen around 3pm?"
Copy to clipboard
bash
curl
"http://localhost:3030/search?start_time=2026-04-11T14:55:00&end_time=2026-04-11T15:05:00&content_type=all"
Other endpoints
Other endpoints
Copy to clipboard
bash
# Health check
GET /health
# List all frames (raw, no search)
GET /frames?start_time
=
..
.
&
end_time
=
..
.
# Get a specific frame image
GET /frames/
{
frame_id
}
/image
# Audio transcriptions only
GET /audio/transcriptions
# App usage stats (time per app)
GET /stats/apps?start_time
=
..
.
&
end_time
=
..
.
# Raw SQL on the SQLite DB
POST /raw_sql
Body:
{
"query"
:
"SELECT app_name, COUNT(*) FROM frames GROUP BY app_name"
}
Raw SQL — the most powerful approach
Raw SQL — the most powerful approach
The SQLite DB is at
~/.screenpipe/db.sqlite
. You can query it directly or via the
/raw_sql
endpoint:
Copy to clipboard
sql
-- Time spent per app today
SELECT
app_name
,
COUNT
(
*
)
as...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Close sidebar","depth":11,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Back","depth":11,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward","depth":11,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Chat","depth":12,"role_description":"radio button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Cowork","depth":12,"role_description":"radio button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Code","depth":12,"role_description":"radio button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"New chat","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"New chat","depth":18,"role_description":"text"},{"role":"AXStaticText","text":"⇧⌘O","depth":17,"role_description":"text"},{"role":"AXLink","text":"Search","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Search","depth":18,"role_description":"text"},{"role":"AXStaticText","text":"⌘K","depth":17,"role_description":"text"},{"role":"AXLink","text":"Customize","depth":16,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Customize","depth":18,"role_description":"text"},{"role":"AXLink","text":"Chats","depth":17,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Chats","depth":19,"role_description":"text"},{"role":"AXLink","text":"Projects","depth":17,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Projects","depth":19,"role_description":"text"},{"role":"AXLink","text":"Artifacts","depth":17,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Artifacts","depth":18,"role_description":"text"},{"role":"AXHeading","text":"Starred","depth":18,"role_description":"heading"},{"role":"AXStaticText","text":"Starred","depth":19,"role_description":"text"},{"role":"AXLink","text":"Bulgarian citizenship application process for EU residents","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Bulgarian citizenship application process for EU residents","depth":22,"role_description":"text"},{"role":"AXLink","text":"Dawarich location tracking project","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Dawarich location tracking project","depth":22,"role_description":"text"},{"role":"AXButton","text":"Recents Hide","depth":18,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Recents","depth":19,"role_description":"text"},{"role":"AXStaticText","text":"Hide","depth":19,"role_description":"text"},{"role":"AXLink","text":"Understanding OpenRouter API gateway","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Understanding OpenRouter API gateway","depth":22,"role_description":"text"},{"role":"AXLink","text":"Screenpipe query capabilities and usage","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe query capabilities and usage","depth":22,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe query capabilities and usage","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Screenpipe 14-day retention explained","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe 14-day retention explained","depth":22,"role_description":"text"},{"role":"AXLink","text":"Reddit homepage feed overview","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Reddit homepage feed overview","depth":22,"role_description":"text"},{"role":"AXLink","text":"Docker container not visible in console","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Docker container not visible in console","depth":22,"role_description":"text"},{"role":"AXLink","text":"DIA browser RAM configuration","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DIA browser RAM configuration","depth":22,"role_description":"text"},{"role":"AXLink","text":"Screenpipe company background","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe company background","depth":22,"role_description":"text"},{"role":"AXLink","text":"DSK Bank Bulgaria secure investing explained","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DSK Bank Bulgaria secure investing explained","depth":22,"role_description":"text"},{"role":"AXLink","text":"Building a comprehensive personal homelab system","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Building a comprehensive personal homelab system","depth":22,"role_description":"text"},{"role":"AXLink","text":"Importing Google Timeline data to Owntracks","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Importing Google Timeline data to Owntracks","depth":22,"role_description":"text"},{"role":"AXLink","text":"Chromecast remote volume buttons not working","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Chromecast remote volume buttons not working","depth":22,"role_description":"text"},{"role":"AXLink","text":"Screenpipe free version guide","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe free version guide","depth":22,"role_description":"text"},{"role":"AXLink","text":"Self-hosted LLM alternatives to Claude Sonnet","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Self-hosted LLM alternatives to Claude Sonnet","depth":22,"role_description":"text"},{"role":"AXLink","text":"Screenpipe database query setup","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe database query setup","depth":22,"role_description":"text"},{"role":"AXLink","text":"Running screenpipe for free","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Running screenpipe for free","depth":22,"role_description":"text"},{"role":"AXLink","text":"Mac Studio network switch setup","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Mac Studio network switch setup","depth":22,"role_description":"text"},{"role":"AXLink","text":"Claude extension in Vivaldi browser","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude extension in Vivaldi browser","depth":22,"role_description":"text"},{"role":"AXLink","text":"General information request","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"General information request","depth":22,"role_description":"text"},{"role":"AXLink","text":"Red dots on neck causes","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Red dots on neck causes","depth":22,"role_description":"text"},{"role":"AXLink","text":"Change approval","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Change approval","depth":22,"role_description":"text"},{"role":"AXLink","text":"Querying Screenpipe with Claude AI","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Querying Screenpipe with Claude AI","depth":22,"role_description":"text"},{"role":"AXLink","text":"Setting up daily backups in Ugreen NAS","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Setting up daily backups in Ugreen NAS","depth":22,"role_description":"text"},{"role":"AXLink","text":"Upcoming reminders","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Upcoming reminders","depth":22,"role_description":"text"},{"role":"AXLink","text":"Accessing tools in Open WebUI","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Accessing tools in Open WebUI","depth":22,"role_description":"text"},{"role":"AXLink","text":"Laravel issue troubleshooting","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Laravel issue troubleshooting","depth":22,"role_description":"text"},{"role":"AXLink","text":"Reminder to take rodný list","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Reminder to take rodný list","depth":22,"role_description":"text"},{"role":"AXLink","text":"Setting up reminders in Open WebUI","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Setting up reminders in Open WebUI","depth":22,"role_description":"text"},{"role":"AXLink","text":"NAS reverse proxy access issues after UGOS update","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"NAS reverse proxy access issues after UGOS update","depth":22,"role_description":"text"},{"role":"AXLink","text":"Reminders summary and management","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Reminders summary and management","depth":22,"role_description":"text"},{"role":"AXLink","text":"Self-hosted screen recording and activity tracking","depth":21,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Self-hosted screen recording and activity tracking","depth":22,"role_description":"text"},{"role":"AXLink","text":"All chats","depth":19,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"All chats","depth":20,"bounds":{"left":0.50625,"top":0.0,"width":0.039583333,"height":0.02},"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Kovalik, Settings","depth":16,"bounds":{"left":0.47430557,"top":0.0,"width":0.19930555,"height":0.07111111},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"LK","depth":19,"bounds":{"left":0.49097222,"top":0.0,"width":0.015277778,"height":0.023333333},"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"bounds":{"left":0.52013886,"top":0.0,"width":0.063194446,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"Pro plan","depth":17,"bounds":{"left":0.52013886,"top":0.0,"width":0.031944446,"height":0.016666668},"role_description":"text"},{"role":"AXButton","text":"Get apps and extensions","depth":18,"bounds":{"left":0.625,"top":0.0,"width":0.022222223,"height":0.035555556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe query capabilities and usage","depth":14,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe query capabilities and usage","depth":16,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe query capabilities and usage","depth":14,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"how to query screenpipe. WHat queries can i make to laverage fully form the app","depth":19,"role_description":"text"},{"role":"AXStaticText","text":"20:54","depth":17,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relevant chats","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relevant chats","depth":18,"role_description":"text"},{"role":"AXStaticText","text":"Here's a full breakdown of how to query Screenpipe, both via its REST API and via MCP:","depth":20,"role_description":"text"},{"role":"AXHeading","text":"REST API (localhost:3030)","depth":19,"role_description":"heading"},{"role":"AXStaticText","text":"REST API (localhost","depth":20,"role_description":"text"},{"role":"AXStaticText","text":":3030","depth":20,"role_description":"text"},{"role":"AXStaticText","text":")","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"The main query endpoint:","depth":20,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":22,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"GET http://localhost:3030/search","depth":22,"role_description":"text"},{"role":"AXHeading","text":"Core parameters","depth":19,"role_description":"heading"},{"role":"AXStaticText","text":"Core parameters","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"Param","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Values","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Notes","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"q","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"any text","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Full-text search across OCR + audio","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"content_type","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ocr","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"audio","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"all","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Default:","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"all","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"limit","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"integer","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Results to return","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"offset","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"integer","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Pagination","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"start_time","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ISO 8601","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"e.g.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-11T09:00:00","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"end_time","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ISO 8601","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"e.g.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-11T18:00:00","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"app_name","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"string","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"e.g.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"PhpStorm","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Slack","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Arc","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"window_name","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"string","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Window title substring match","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"min_length","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"integer","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Min chars in result","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"speaker_ids","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"array","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"For audio — filter by speaker","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Param","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"q","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"content_type","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"limit","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"offset","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"start_time","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"end_time","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"app_name","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"window_name","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"min_length","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"speaker_ids","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Values","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"any text","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"ocr","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"audio","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"all","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"integer","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"integer","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"ISO 8601","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"ISO 8601","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"string","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"string","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"integer","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"array","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Notes","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Full-text search across OCR + audio","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Default:","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"all","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Results to return","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Pagination","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"e.g.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-11T09:00:00","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"e.g.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-11T18:00:00","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"e.g.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"PhpStorm","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Slack","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Arc","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Window title substring match","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Min chars in result","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"For audio — filter by speaker","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Param","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Values","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Notes","depth":22,"role_description":"text"},{"role":"AXHeading","text":"Example queries","depth":19,"role_description":"heading"},{"role":"AXStaticText","text":"Example queries","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"\"What was I doing this morning?\"","depth":21,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":22,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"curl","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"\"http://localhost:3030/search?content_type=all&start_time=2026-04-11T08:00:00&end_time=2026-04-11T12:00:00&limit=50\"","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"\"What code was in PhpStorm today?\"","depth":21,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":22,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"curl","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"\"http://localhost:3030/search?content_type=ocr&app_name=PhpStorm&start_time=2026-04-11T00:00:00&limit=100\"","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"\"What did I read in Slack about deployments?\"","depth":21,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":22,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"curl","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"\"http://localhost:3030/search?q=deployment&app_name=Slack&content_type=ocr\"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"\"What was on screen around 3pm?\"","depth":21,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":22,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"curl","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"\"http://localhost:3030/search?start_time=2026-04-11T14:55:00&end_time=2026-04-11T15:05:00&content_type=all\"","depth":23,"role_description":"text"},{"role":"AXHeading","text":"Other endpoints","depth":19,"role_description":"heading"},{"role":"AXStaticText","text":"Other endpoints","depth":20,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":22,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"# Health check","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"GET /health","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"# List all frames (raw, no search)","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"GET /frames?start_time","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"..","depth":22,"role_description":"text"},{"role":"AXStaticText","text":".","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"&","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"end_time","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"..","depth":22,"role_description":"text"},{"role":"AXStaticText","text":".","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"# Get a specific frame image","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"GET /frames/","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"frame_id","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"/image","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"# Audio transcriptions only","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"GET /audio/transcriptions","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"# App usage stats (time per app)","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"GET /stats/apps?start_time","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"..","depth":22,"role_description":"text"},{"role":"AXStaticText","text":".","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"&","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"end_time","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"..","depth":22,"role_description":"text"},{"role":"AXStaticText","text":".","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"# Raw SQL on the SQLite DB","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"POST /raw_sql","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Body:","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"\"query\"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":":","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT app_name, COUNT(*) FROM frames GROUP BY app_name\"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":22,"role_description":"text"},{"role":"AXHeading","text":"Raw SQL — the most powerful approach","depth":19,"role_description":"heading"},{"role":"AXStaticText","text":"Raw SQL — the most powerful approach","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"The SQLite DB is at","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":21,"role_description":"text"},{"role":"AXStaticText","text":". You can query it directly or via the","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"/raw_sql","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"endpoint:","depth":20,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":22,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"-- Time spent per app today","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"SELECT","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"app_name","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"COUNT","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"(","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"*","depth":22,"role_description":"text"},{"role":"AXStaticText","text":")","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"as","depth":22,"role_description":"text"}]...
|
9146674660508168899
|
-8263786187506550566
|
click
|
accessibility
|
NULL
|
Close sidebar
Back
Forward
Chat
Cowork
Code
New ch Close sidebar
Back
Forward
Chat
Cowork
Code
New chat
New chat
⇧⌘O
Search
Search
⌘K
Customize
Customize
Chats
Chats
Projects
Projects
Artifacts
Artifacts
Starred
Starred
Bulgarian citizenship application process for EU residents
Bulgarian citizenship application process for EU residents
Dawarich location tracking project
Dawarich location tracking project
Recents Hide
Recents
Hide
Understanding OpenRouter API gateway
Understanding OpenRouter API gateway
Screenpipe query capabilities and usage
Screenpipe query capabilities and usage
More options for Screenpipe query capabilities and usage
Screenpipe 14-day retention explained
Screenpipe 14-day retention explained
Reddit homepage feed overview
Reddit homepage feed overview
Docker container not visible in console
Docker container not visible in console
DIA browser RAM configuration
DIA browser RAM configuration
Screenpipe company background
Screenpipe company background
DSK Bank Bulgaria secure investing explained
DSK Bank Bulgaria secure investing explained
Building a comprehensive personal homelab system
Building a comprehensive personal homelab system
Importing Google Timeline data to Owntracks
Importing Google Timeline data to Owntracks
Chromecast remote volume buttons not working
Chromecast remote volume buttons not working
Screenpipe free version guide
Screenpipe free version guide
Self-hosted LLM alternatives to Claude Sonnet
Self-hosted LLM alternatives to Claude Sonnet
Screenpipe database query setup
Screenpipe database query setup
Running screenpipe for free
Running screenpipe for free
Mac Studio network switch setup
Mac Studio network switch setup
Claude extension in Vivaldi browser
Claude extension in Vivaldi browser
General information request
General information request
Red dots on neck causes
Red dots on neck causes
Change approval
Change approval
Querying Screenpipe with Claude AI
Querying Screenpipe with Claude AI
Setting up daily backups in Ugreen NAS
Setting up daily backups in Ugreen NAS
Upcoming reminders
Upcoming reminders
Accessing tools in Open WebUI
Accessing tools in Open WebUI
Laravel issue troubleshooting
Laravel issue troubleshooting
Reminder to take rodný list
Reminder to take rodný list
Setting up reminders in Open WebUI
Setting up reminders in Open WebUI
NAS reverse proxy access issues after UGOS update
NAS reverse proxy access issues after UGOS update
Reminders summary and management
Reminders summary and management
Self-hosted screen recording and activity tracking
Self-hosted screen recording and activity tracking
All chats
All chats
Lukas Kovalik, Settings
LK
Lukas Kovalik
Pro plan
Get apps and extensions
Screenpipe query capabilities and usage
Screenpipe query capabilities and usage
More options for Screenpipe query capabilities and usage
how to query screenpipe. WHat queries can i make to laverage fully form the app
20:54
Retry
Edit
Copy
Relevant chats
Relevant chats
Here's a full breakdown of how to query Screenpipe, both via its REST API and via MCP:
REST API (localhost:3030)
REST API (localhost
:3030
)
The main query endpoint:
Copy to clipboard
bash
GET http://localhost:3030/search
Core parameters
Core parameters
Param
Values
Notes
q
any text
Full-text search across OCR + audio
content_type
ocr
,
audio
,
all
Default:
all
limit
integer
Results to return
offset
integer
Pagination
start_time
ISO 8601
e.g.
2026-04-11T09:00:00
end_time
ISO 8601
e.g.
2026-04-11T18:00:00
app_name
string
e.g.
PhpStorm
,
Slack
,
Arc
window_name
string
Window title substring match
min_length
integer
Min chars in result
speaker_ids
array
For audio — filter by speaker
Param
q
content_type
limit
offset
start_time
end_time
app_name
window_name
min_length
speaker_ids
Values
any text
ocr
,
audio
,
all
integer
integer
ISO 8601
ISO 8601
string
string
integer
array
Notes
Full-text search across OCR + audio
Default:
all
Results to return
Pagination
e.g.
2026-04-11T09:00:00
e.g.
2026-04-11T18:00:00
e.g.
PhpStorm
,
Slack
,
Arc
Window title substring match
Min chars in result
For audio — filter by speaker
Param
Values
Notes
Example queries
Example queries
"What was I doing this morning?"
Copy to clipboard
bash
curl
"http://localhost:3030/search?content_type=all&start_time=2026-04-11T08:00:00&end_time=2026-04-11T12:00:00&limit=50"
"What code was in PhpStorm today?"
Copy to clipboard
bash
curl
"http://localhost:3030/search?content_type=ocr&app_name=PhpStorm&start_time=2026-04-11T00:00:00&limit=100"
"What did I read in Slack about deployments?"
Copy to clipboard
bash
curl
"http://localhost:3030/search?q=deployment&app_name=Slack&content_type=ocr"
"What was on screen around 3pm?"
Copy to clipboard
bash
curl
"http://localhost:3030/search?start_time=2026-04-11T14:55:00&end_time=2026-04-11T15:05:00&content_type=all"
Other endpoints
Other endpoints
Copy to clipboard
bash
# Health check
GET /health
# List all frames (raw, no search)
GET /frames?start_time
=
..
.
&
end_time
=
..
.
# Get a specific frame image
GET /frames/
{
frame_id
}
/image
# Audio transcriptions only
GET /audio/transcriptions
# App usage stats (time per app)
GET /stats/apps?start_time
=
..
.
&
end_time
=
..
.
# Raw SQL on the SQLite DB
POST /raw_sql
Body:
{
"query"
:
"SELECT app_name, COUNT(*) FROM frames GROUP BY app_name"
}
Raw SQL — the most powerful approach
Raw SQL — the most powerful approach
The SQLite DB is at
~/.screenpipe/db.sqlite
. You can query it directly or via the
/raw_sql
endpoint:
Copy to clipboard
sql
-- Time spent per app today
SELECT
app_name
,
COUNT
(
*
)
as...
|
NULL
|
|
2074
|
44
|
7
|
2026-04-12T09:23:18.902198+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-12/1775 /Users/lukas/.screenpipe/data/data/2026-04-12/1775985798902_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C78Sun 12 Apr 12:23:18-zshDOCKERmonitorsO ₴1DEV (-zsh)O $2APP (-zsh)• &3-zsh• ₴4-zsh• *5-zsh86-zsh*7T8* Unable to acces...• *8no monitors availableaudio devicesdisabledyou are using localprocessing. all yourdata stays on your computer.warning:telemetryisenabled.only error-level data will be sent.to disable, use the --disable-telemetry flag.checklatestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.1561192INFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.155724ZINFO2026-04-12T12:10:05.screenpipe_core::pipes:pipe scheduler started (generation 2)159681ZWARNscreenpipe: pi agent install failed: bun not found -install from https://bun.sh2026-04-12T12:10:05.163034Z2026-04-12T12:10:05INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985Z2026-04-12T12:10:05.INFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e9184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-1109:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFOscreenpipe_engine:: calendar_speaker_id: speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.1899847INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-12T12:10:05..194217ZINFOscreenpipe_connect::mdns: mdns:advertising screenpipe on port 30302026-0412T12:10:05547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 1440x900)2026-04-12T12:10:05621994ZINFOscreenpipe_engine::vision_manager::manager: Startingevent-drivencapture for monitor 1 (device:monitor_1)2026-04-12T12:10:05.622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-04-12T12:10:056220287INFO2026-04-12T12:10:05.622056Zscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher (polling every 5 seconds)INFOscreenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFO2026-04-12T12:10:065940617INFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900,2fps)screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=2007, dur=68ms2026-04--12T12:10:10.186195ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10..186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04--12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.4947027INFO2026-04-12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames,18.3MB → 6.2MB(2.9x),97 JPEGs deleted.158642ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04-12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFOscreenpipe_engine::retention: retention:cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 2 eligible frames2026-04-12T12:20:40.179920ZINFO2026-04-12T12:21:17.2502564INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00(14d retention)screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGS deleted...
|
NULL
|
2420844631356467142
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C78Sun 12 Apr 12:23:18-zshDOCKERmonitorsO ₴1DEV (-zsh)O $2APP (-zsh)• &3-zsh• ₴4-zsh• *5-zsh86-zsh*7T8* Unable to acces...• *8no monitors availableaudio devicesdisabledyou are using localprocessing. all yourdata stays on your computer.warning:telemetryisenabled.only error-level data will be sent.to disable, use the --disable-telemetry flag.checklatestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-12T12:10:05.1561192INFOscreenpipe: startingUIevent capture2026-04-12T12:10:05.155724ZINFO2026-04-12T12:10:05.screenpipe_core::pipes:pipe scheduler started (generation 2)159681ZWARNscreenpipe: pi agent install failed: bun not found -install from https://bun.sh2026-04-12T12:10:05.163034Z2026-04-12T12:10:05INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))170308ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-12T12:10:05.183985Z2026-04-12T12:10:05.INFOscreenpipe_engine::ui_recorder: UI recording session started: 1982bc75-7b4c-48ab-80f8-a5f0f7b6a1e9184088ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-1109:10:05.184087 UTC to 2026-04-12 09:10:05.184087 UTC)2026-04-12T12:10:05.184054ZINFOscreenpipe_engine:: calendar_speaker_id: speaker identification: started (user_name=<not set>)2026-04-12T12:10:05.186279ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-12T12:10:05.1899847INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-12T12:10:05..194217ZINFOscreenpipe_connect::mdns: mdns:advertising screenpipe on port 30302026-0412T12:10:05547235ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1483 frameentries, coverage from 2026-04-11 09:10:05.184087 UTC2026-04-12T12:10:05621863ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 1440x900)2026-04-12T12:10:05621994ZINFOscreenpipe_engine::vision_manager::manager: Startingevent-drivencapture for monitor 1 (device:monitor_1)2026-04-12T12:10:05.622006ZINFOscreenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) - not in allowed list2026-04-12T12:10:056220287INFO2026-04-12T12:10:05.622056Zscreenpipe_engine::vision_manager::monitor_watcher:Starting monitor watcher (polling every 5 seconds)INFOscreenpipe_engine::event_driven_capture:event-driven capture started formonitor 1 (device: monitor_1)2026-04-12T12:10:06.456460ZINFO2026-04-12T12:10:065940617INFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900,2fps)screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=2007, dur=68ms2026-04--12T12:10:10.186195ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-12T12:10:10..186396ZINFOscreenpipe: localretention auto-enabled (14 days)2026-04--12T12:11:05220594ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 181 eligible frames2026-04-12T12:11:11.4947027INFO2026-04-12T12:11:17.232606ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 84 frames, 25.2MB → 6.3MB(4.0x), 84 JPEGs deleted2026-04-12T12:13:51.screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames,18.3MB → 6.2MB(2.9x),97 JPEGs deleted.158642ZINFOscreenpipe_engine::event_driven_capture:content dedup: skipping capture for monitor 1 (hash=-5317717262786825427, trigger=click)2026-04-12T12:15:05180419ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-12T12:15:40.184321ZINFOscreenpipe_engine::retention: retention:cleaning up data before 2026-03-29T09:15:40.184301+00:00 (14d retention)2026-04-12T12:16:17.236544ZINFOscreenpipe_engine::snapshot_compaction:snapshot compaction: found 2 eligible frames2026-04-12T12:20:40.179920ZINFO2026-04-12T12:21:17.2502564INFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-29T09:20:40.179797+00:00(14d retention)screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames2026-04-12T12:21:18.107107ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.7x), 7 JPEGS deleted...
|
2073
|