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
[FEATURE]: Allow rebinding the subagent active/inactive toggle #56002
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
In OpenCode V2's TUI, I'd like to customize the shortcut for “show active / show inactive” in the Subagents picker—for example, use Tab instead of Ctrl+A.
Could this action be exposed as a configurable keybind, keeping Ctrl+A as the default? The footer should reflect the configured shortcut, and using Tab should not affect autocomplete outside the picker.
Related: #51903 concerns mouse interaction with the same footer, rather than rebinding.
Thanks for the request, and for linking the exact code! You'd like the Subagents picker's show active / show inactive toggle (composer.subagent.toggle-activity, currently hardcoded to ctrl+a) to be a configurable keybind in cli.json. Ctrl+A would stay the default, the footer would show the configured key, and binding it to Tab wouldn't affect autocomplete outside the picker.
I checked the current code: the action still has an inline bind and isn't in the keybind definitions, while the other composer.subagent.* actions are. A plugin can't work around this, because the bind is hardcoded in the TUI. Maintainers will consider it.
Adding some context on why this matters: I run OpenCode inside tmux/screen, where the default prefix is ctrl+a (or ctrl+b). The multiplexer intercepts the key before it reaches the TUI, so the hardcoded composer.subagent.toggle-activity bind is effectively unreachable unless I use the send-prefix workaround (ctrl+a ctrl+a in tmux, ctrl+a a in screen).
Being able to remap this through cli.json would solve it without changing the default.
Since the footer already reads shortcuts.get("composer.subagent.toggle-activity"), it looks like registering this id in config/keybind.ts (default ctrl+a) and using the resolved binding in subagents-tab.tsx instead of the inline bind: "ctrl+a" would be enough, with the footer hint following the configured key automatically.
Activity
opencode-agent commentedon Oct 16, 2026
Thanks for the request, and for linking the exact code! You'd like the Subagents picker's show active / show inactive toggle (
composer.subagent.toggle-activity, currently hardcoded toctrl+a) to be a configurable keybind incli.json. Ctrl+A would stay the default, the footer would show the configured key, and binding it to Tab wouldn't affect autocomplete outside the picker.I checked the current code: the action still has an inline bind and isn't in the keybind definitions, while the other
composer.subagent.*actions are. A plugin can't work around this, because the bind is hardcoded in the TUI. Maintainers will consider it.Related issues:
DachiChang commentedon Oct 17, 2026
Adding some context on why this matters: I run OpenCode inside tmux/screen, where the default prefix is
ctrl+a(orctrl+b). The multiplexer intercepts the key before it reaches the TUI, so the hardcodedcomposer.subagent.toggle-activitybind is effectively unreachable unless I use the send-prefix workaround (ctrl+a ctrl+ain tmux,ctrl+a ain screen).Being able to remap this through
cli.jsonwould solve it without changing the default.Since the footer already reads
shortcuts.get("composer.subagent.toggle-activity"), it looks like registering this id inconfig/keybind.ts(defaultctrl+a) and using the resolved binding insubagents-tab.tsxinstead of the inlinebind: "ctrl+a"would be enough, with the footer hint following the configured key automatically.docs: list composer tab, toggle and terminal keybinds