[FEATURE] Desktop app: keyboard shortcut to toggle the Background tasks panel
Summary
The desktop Code tab has no keyboard shortcut that opens or closes the Background tasks panel. Every other pane in the same overflow menu has one. Please add a toggleTasks command bound to cmd+shift+j.
Current behavior
To reach the panel, I must use the mouse:
- Click the
⋮overflow button in the top right of the Code tab. - Click
Background tasks.
cmd+\ (closePane) closes the panel once it is open. No key opens it.
The overflow menu shows access letters for Rename, Fork, Archive, and Delete. The Background tasks row shows none.
Evidence
One helper builds the menu rows. The Files row passes a shortcut property. The Background tasks row does not:
// Files
{ icon: G3.browser, label: "Files", checked: o.has("browser"),
shortcut: bc("toggleBrowser", x), onSelect: () => d("browser") }
// Background tasks
{ icon: G3.tasks, label: "Background tasks", checked: o.has("tasks"),
status: w, onSelect: () => d("tasks") } // no shortcut property
The pane shortcut table has no row for the tasks pane. These are all 18 rows:
{command:"togglePreview", key:"cmd+shift+b", when:"isClaudeApp", gate:"externalPreviewAvailable"}
{command:"togglePreview", key:"cmd+shift+p", when:"isClaudeApp"}
{command:"togglePreview", key:"cmd+alt+p", when:"!isClaudeApp"}
{command:"toggleDiff", key:"cmd+shift+d", when:"isClaudeApp"}
{command:"toggleDiff", key:"ctrl+shift+d", when:"!isClaudeApp"}
{command:"toggleTerminal", key:"ctrl+`"}
{command:"toggleTerminal", key:"cmd+j", when:"isClaudeApp", mac:true}
{command:"toggleBrowser", key:"cmd+shift+f"}
{command:"closePane", key:"cmd+\\"}
{command:"toggleSideChat", key:"cmd+;"}
{command:"cycleTranscriptMode", key:"ctrl+o"}
{command:"openModeMenu", key:"cmd+shift+m", when:"isClaudeApp"}
{command:"openModeMenu", key:"cmd+alt+m"}
{command:"openModelMenu", key:"cmd+shift+i"}
{command:"openEffortMenu", key:"cmd+shift+e"}
{command:"toggleFastMode", key:"cmd+alt+f"}
{command:"toggleSelectionMode", key:"cmd+shift+s"}
{command:"newPreviewTab", key:"cmd+t", when:"isClaudeApp"}
I found both fragments under Contents/Resources/ion-dist/assets/v1/ inside Claude.app. The asset file names are content hashed, so they change per release.
Proposed change
- Add a row to the pane shortcut table:
``js``
{command:"toggleTasks", key:"cmd+shift+j", code:"KeyJ", when:"isClaudeApp"}
- Pass
shortcut: bc("toggleTasks", x)on the Background tasks menu row. - Add the command to the palette registry, so it is findable through
cmd+Kand listed in the shortcuts modal atcmd+/.
Please set both key and code. The matcher prefers code, which binds a physical key position. Issue [#78002][issue_78002] reports that this breaks the zoom shortcuts on a Norwegian layout.
For Windows and Linux, ctrl+shift+j mirrors it. Note that Chromium uses that combination for the devtools console, so a different non-mac key can be better.
Why cmd+shift+j
cmd+j already toggles the Terminal. Terminal and Background tasks are the two panes that show work in flight, so adjacent keys help.
I checked all four layers that bind keys on macOS. cmd+shift+j is free in each one.
| Layer | Occupies cmd+shift+ |
| --- | --- |
| Pane shortcut table | B, D, E, F, I, M, P, S |
| Command palette registry | A, E, I, K, O, comma, period |
| Native menu bar | G, V, Z |
| Composer rich-text keymap | B, K, L, M, S, U, Z, 7, 8, 9 |
Two results are worth recording:
cmd+shift+ais not available. A hidden internalant_toolscommand holds it.- Plain
cmd+<letter>is a poor choice. The composer keymap claimsMod-a/b/d/e/f/g/i/s/u/yfor text formatting.
Why the existing config cannot do this
~/.claude/keybindings.json covers the TUI action registry. That registry has no action for a desktop pane. The nearest actions do something else:
task:backgroundsends a running foreground task to the background.app:toggleTodos,app:toggleTranscript, andapp:toggleBrieftoggle other views.
So the desktop table is the only place where this can live today.
Alternatives I ruled out
macOS System Settings has Keyboard Shortcuts, then App Shortcuts. That binds keys to native menu bar items only, matched by exact title. The ⋮ menu is HTML content inside the window, so macOS cannot see the row. The native View menu holds only reload, navigation, tab switching, zoom, Copy URL, and full screen.
A hotkey tool such as Hammerspoon can click the button and the row. The button carries no stable accessibility identifier, so the script must target it by position or by visible text. Any layout change breaks it.
Related issues
- [#86449][issue_86449] and [#80682][issue_80682] request a shortcut for
Archive, in the same overflow menu. - [#83883][issue_83883] reports the same gap for the FleetView pin-to-top action.
- [#9177][issue_9177] requests user-configurable shortcut actions in general.
- [#72426][issue_72426] requests a shortcut that opens the thread context menu in the left panel.
Environment
- Platform: macOS, Darwin 25.5.0, Apple silicon
- Claude desktop app: 1.30096.1
- Bundled Claude Code: 2.1.229
[issue_72426]: https://github.com/anthropics/claude-code/issues/72426
[issue_78002]: https://github.com/anthropics/claude-code/issues/78002
[issue_80682]: https://github.com/anthropics/claude-code/issues/80682
[issue_83883]: https://github.com/anthropics/claude-code/issues/83883
[issue_86449]: https://github.com/anthropics/claude-code/issues/86449
[issue_9177]: https://github.com/anthropics/claude-code/issues/9177