You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Desktop app: support keyboard shortcut to switch agents (e.g. build/plan), like TUI's Tab/Shift+Tab #41742
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
What do you want to change or add?
Add a configurable keyboard shortcut in the desktop app to quickly switch between agents (e.g. build ↔ plan ↔ other custom agents), mirroring what the TUI already supports.
Currently in the TUI, agent_cycle (default Tab) and agent_cycle_reverse (default Shift+Tab) let users cycle between agents instantly, and these are customizable via tui.json. However, in the desktop app:
There is no documented keyboard shortcut to switch agents at all — users must click the agent selector in the UI each time.
Desktop prompt shortcuts (Ctrl+A/E etc.) are built-in and not configurable (per the docs), so there's no tui.json equivalent to add an agent-switching keybind.
What are the benefits?
Consistent UX across clients: Users coming from the TUI (or CLI/web) expect the same muscle memory (Tab / Shift+Tab) in the desktop app. The inconsistency forces relearning per client.
Faster workflow: Switching between plan and build is a frequent operation (draft a plan → execute). A keybind removes mouse round-trips, which matters a lot in long sessions.
Accessibility: Keyboard-only operation is essential for users who prefer not to touch the mouse, and for automation/streaming setups.
Proposal
Add agent-cycle keybinds to the desktop app (e.g. Tab / Shift+Tab, or at minimum a documented shortcut).
Make them configurable, ideally via the same tui.json keybinds mechanism (agent_cycle / agent_cycle_reverse) so one config works across TUI and desktop, or add an equivalent desktop setting.
Thanks for considering! The TUI already sets a good precedent; this would just bring the desktop app in line.
Adding my use case here: I use the Desktop app and I'm used to Ctrl+PageUp / Ctrl+PageDown for tab switching (browser/IDE habit). Right now there's no way to bind those — or any — shortcuts for session/tab navigation in Desktop, while the TUI supports it via tui.json. Having the same keybind mechanism (agent_cycle, session_child_cycle, etc.) available in Desktop would bring both clients in line and save a lot of mouse round-trips. Linux, opencode v1.18.x. Thanks for considering!
This is implemented in v2: the desktop/web app cycles agents with Ctrl+. (Cmd+. on macOS), and Shift+Ctrl+. (Shift+Cmd+. on macOS) cycles backward. Both shortcuts can be changed in Settings > Keybinds. Update the desktop app to get v2. If you still see this on v2, please open a new issue with the details.
Activity
github-actions commentedon Aug 11, 2026
This issue might be a duplicate of existing issues. Please check:
display_thinking) to the Desktop app, with the same proposal to make desktop readtui.jsonkeybindings for consistency across clients.For keybind-related issues, please also check our pinned keybinds documentation: #4997
lg303 commentedon Aug 19, 2026
Adding my use case here: I use the Desktop app and I'm used to Ctrl+PageUp / Ctrl+PageDown for tab switching (browser/IDE habit). Right now there's no way to bind those — or any — shortcuts for session/tab navigation in Desktop, while the TUI supports it via tui.json. Having the same keybind mechanism (agent_cycle, session_child_cycle, etc.) available in Desktop would bring both clients in line and save a lot of mouse round-trips. Linux, opencode v1.18.x. Thanks for considering!
neriousy commentedon Oct 19, 2026
This is implemented in v2: the desktop/web app cycles agents with Ctrl+. (Cmd+. on macOS), and Shift+Ctrl+. (Shift+Cmd+. on macOS) cycles backward. Both shortcuts can be changed in Settings > Keybinds. Update the desktop app to get v2. If you still see this on v2, please open a new issue with the details.