Skip to main content

Keyboard Shortcuts

Shortcut reference for terminals, agents, fleet arming, worktrees, chord sequences, the in-app reference dialog, and Settings > Keyboard customization.

Updated
Reviewed

Daintree exposes its keybindings through two surfaces. The Shortcut Reference dialog (Cmd+/, or the chord Cmd+K, Cmd+S) is read-only and built for browsing. The Keyboard tab in Settings (Cmd+,) is where you record new combos, unbind clashes, and import or export profiles. The tables below list the macOS defaults. The footer note covers the Cmd to Ctrl mapping for Windows and Linux.

Terminal & Panel Management

ActionShortcut
New terminalCmd+Alt+T
Duplicate panelCmd+T
Close focused terminalCmd+W
Reopen last closed terminalCmd+Shift+T
Focus terminal 1–9Cmd+1 through 9
Focus next terminal (includes docked panels)Ctrl+Tab
Focus previous terminal (includes docked panels)Ctrl+Shift+Tab
Toggle alternate panel focusCmd+Alt+`
Next tab in panelCmd+Shift+]
Previous tab in panelCmd+Shift+[
Maximize / restore panel within gridCtrl+Shift+F
Toggle dock stateCmd+Alt+M
Toggle all dock stateCmd+Alt+Shift+M
Move panel leftCmd+Shift+Alt+Left
Move panel rightCmd+Shift+Alt+Right
Move panel upCmd+Shift+Alt+Up
Move panel downCmd+Shift+Alt+Down
Move panel to dockCmd+Shift+Alt+D
Move panel to gridCmd+Shift+Alt+G
Send to agent (panel focused)Cmd+Shift+E
Watch terminalCmd+Shift+W
Stash inputCmd+Shift+S
Restore stashCmd+Shift+X
Find in focused panelCmd+F
Copy terminal selectionCmd+C (macOS) / Right-click > Copy (Windows/Linux)
Paste into terminalCmd+V (macOS) / Ctrl+Shift+V (Windows/Linux)
Scroll to last activityCmd+Alt+L
Inject context (CopyTree)Cmd+Shift+I
Context menuShift+F10 (also the Menu key on Windows)
Tip
Cmd+T duplicates the focused panel, copying its agent type, working directory, and launch flags. If no panel is focused, it recreates the last-closed terminal's configuration instead. If there's no recent history, it opens a blank terminal. Use Cmd+Alt+T when you want a fresh blank terminal every time, or Cmd+Shift+T to reopen the last terminal you explicitly closed.

Directional Navigation

ActionShortcut
Focus terminal aboveCmd+Alt+Up
Focus terminal belowCmd+Alt+Down
Focus terminal leftCmd+Alt+Left
Focus terminal rightCmd+Alt+Right
Focus next regionF6
Focus previous regionShift+F6

Agent Shortcuts

ActionShortcut
Launch Claude CodeCmd+Alt+C
Launch GeminiCmd+Alt+G
Launch CodexCmd+Alt+X
Launch terminal in worktreeCmd+Alt+N
Launch browser panelCmd+Alt+B
Launch OpenCodeUnbound by default
Launch CursorUnbound by default
Launch KiroUnbound by default
Launch GitHub CopilotUnbound by default
Open agent paletteCmd+Shift+A
Toggle Help AgentCmd+Shift+H
Next waiting agent (active project)Cmd+Alt+/
Next waiting agent (all projects)Cmd+Shift+Alt+/
Next working agentCmd+Alt+.
Cycle next agent panelCmd+Alt+K
Cycle previous agent panelCmd+Alt+J
Send selection to agentCmd+Shift+E
Next waiting agent (dock)Cmd+Shift+/
Note
OpenCode, Cursor, Kiro, and GitHub Copilot ship with no default launch shortcut. Assign your own in Settings > Keyboard, or from the agent's row in the Agent Tray. Agent launch shortcuts have to use the Cmd+Alt+letter form. The recorder rejects chords and other combos with the message "Agent shortcuts use ⌘⌥ + letter" on macOS, or "Ctrl+Alt+letter" on Windows and Linux.

The "all projects" jump (Cmd+Shift+Alt+/) walks projects in sidebar order, switches to the first one with a waiting agent, and focuses it. It wraps from the bottom back to the top, so repeated taps step you through every project without leaving the keyboard.

Fleet Arming

Fleet arming selects a set of agent terminals and dispatches an action to all of them at once. See Fleet for the full reference.

ActionShortcut
Arm every eligible agent in the current worktreeCmd+Shift+B
Focus the Fleet ComposerCmd+Shift+F
Accept waiting agentsCmd+Y
Reject waiting agentsCmd+N
Restart armed agents (always confirms)Cmd+Shift+R
Kill armed terminals (always confirms)Cmd+Shift+K
Trash armed terminalsCmd+Shift+Backspace
Interrupt armed agents (double-tap within 350ms)Cmd+Esc Esc
Disarm the fleet (or clear a pending confirmation)Esc

Cmd+N falls through to the command palette when no waiting agents are armed, so it doesn't clash with the palette binding.

Voice Input

ActionShortcut
Toggle voice dictation (focused agent panel)Cmd+Shift+V

This shortcut is context-sensitive inside agent panels. When an agent's hybrid input bar has focus, it pastes clipboard content as plain text. Anywhere else within an agent panel, it toggles voice dictation. See Voice Input for setup and usage.

Worktree Shortcuts

ActionShortcut
Switch to worktree 1–9Cmd+Alt+1 through 9
Next worktreeCmd+Alt+]
Previous worktreeCmd+Alt+[
Worktrees overviewCmd+Shift+O
Copy worktree tree (CopyTree)Cmd+Shift+C
Worktree palette (chord)Cmd+K, W
Create new worktree (chord)Cmd+K, N

Project Shortcuts

ActionShortcut
Project switcherCmd+Alt+P
Cycle to older project (MRU)Cmd+Alt+=
Cycle to newer project (MRU)Cmd+Shift+Alt+=
Open project in new window (from Project Switcher)Cmd+Enter
Open project in background (from Project Switcher)Alt+Enter

The MRU cycle walks your most-recently-used project stack, not sidebar order. Tap Cmd+Alt+= to step backward through recent projects, the equivalent of Alt-Tab for projects. Add Shift to step forward.

Navigation & Palettes

ActionShortcut
Quick SwitcherCmd+P
Panel paletteCmd+N
Action paletteCmd+Shift+P
Action palette (double-Shift)
Repeat last actionCmd+Shift+.
Toggle sidebarCmd+B
Toggle Focus Mode (chord)Cmd+K, Z
Toggle portalCmd+\
Toggle diagnosticsCmd+Shift+D
Toggle Daintree AssistantCmd+L

Repeat last action re-runs whatever you last triggered through a palette or shortcut, against the same target, without reopening the palette. Useful when you're firing the same action at the same item more than once.

Focus Mode hides the sidebar and the Daintree Assistant in one keystroke, so the panel grid takes the whole window. Press the chord again to bring them back.

Portal Shortcuts

These shortcuts are active only when the Portal has focus:

ActionShortcut
Close active tabCmd+W
Next tabCtrl+Tab
Previous tabCtrl+Shift+Tab
New tabCmd+T

Diagnostics

ActionShortcut
Diagnostics: Logs tabCtrl+Shift+L
Diagnostics: Problems tabCtrl+Shift+M

System

ActionShortcut
New windowCmd+Shift+Alt+N
SettingsCmd+,
Keyboard shortcuts referenceCmd+/ (also Cmd+K, Cmd+S)
Theme palette (chord)Cmd+K, T
Zoom inCmd+=
Zoom outCmd+-
Reset zoomCmd+0
Layout undoCmd+Alt+Z
Layout redoCmd+Alt+Shift+Z
Close modal dialogEsc

Chord Shortcuts

Chord shortcuts are two key combinations pressed in sequence. Press the first combo, release, then press the second within one second. Every chord sequence currently uses Cmd+K as its first key.

When you press the first key and pause, a floating indicator appears at the bottom of the screen after about 200ms. It shows the available second keys, grouped by category. Type the full chord quickly and the indicator never appears, so it stays out of your way. Press Esc to cancel a pending chord.

Terminal Chords

ActionChord
Close all terminalsCmd+K, Cmd+W
End all terminalsCmd+K, Cmd+K
Restart all terminalsCmd+K, Cmd+R

Worktree Session Chords

ActionChord
Dock all sessions in active worktreeCmd+K, Cmd+M
Maximize all sessions in active worktreeCmd+K, Cmd+X
Reset renderers for all sessionsCmd+K, Cmd+N

Navigation Chords

ActionChord
Worktree paletteCmd+K, W
Create new worktreeCmd+K, N
Theme paletteCmd+K, T
Keyboard shortcuts referenceCmd+K, Cmd+S
Toggle Focus ModeCmd+K, Z

Git Chords

ActionChord
Stage all changesCmd+K, Cmd+A
Commit staged changesCmd+K, Cmd+C
Push to remoteCmd+K, Cmd+P

Shortcut Reference Dialog

Open the dialog with Cmd+/ or the chord Cmd+K, Cmd+S. Both entry points hit the same action. The dialog is read-only. To rebind anything, switch to Customizing Shortcuts below.

Results are grouped by category: Terminal, Agents, Worktrees, Panels, Navigation, Help, System, then anything else.

The search box does two things at once:

  • Fuzzy text search across action descriptions, keywords, action IDs, and categories. Type term and you get every Terminal action; type commit and you find the git commit chord; type unbound and you get every action with no default combo, which is handy when you're hunting for a free slot for a custom shortcut.
  • Chord-prefix matching when the query looks like a chord. Type Cmd+K and the list filters to every action whose combo starts with Cmd+K, so you can browse the second-key options without memorizing the chord indicator.

Each row shows the action's description, a scope label when it isn't global, and the current combo as a chip. Bindings update in the dialog live as you rebind in Settings. No reopen needed.

Customizing Shortcuts

Settings > Keyboard is where shortcuts get rebound, unbound, and reset. Open Settings with Cmd+, and switch to the Keyboard tab.

The top of the panel has a search input, Import and Export buttons, and a Reset All button. Bindings are grouped by category, the same way the reference dialog groups them. Each row shows the description and the current combo as a pill.

  • Record a new combo: click a pill and press your combo. If the first keystroke is a chord-eligible prefix, the recorder waits up to one second for a second keystroke before saving.
  • Clear (unbind): clears the recorded combo without saving a new one. Use this when you want to leave a shortcut blank.
  • Reset to default: appears on hover for any binding you've customized and snaps that single row back to the shipped default.
  • Override color: customized bindings render with the accent pill, so they stand out from defaults at a glance.
  • Reset All: opens a confirmation dialog and clears every override at once. The shipped defaults come back immediately.

Conflict resolution. If your new combo matches a binding that already exists, the recorder shows the conflicting action with an inline Unbind button. Click it and the other binding is removed, with a five-second toast carrying an Undo action. If the new combo overlaps a chord prefix (say you try to bind Cmd+K on its own while chord sequences start with Cmd+K), the recorder warns that the binding shadows or is shadowed by another, and leaves the resolution to you.

Shortcut Profiles

The Export and Import buttons in the Settings > Keyboard toolbar let you share a shortcut configuration with teammates or sync it across machines.

Export saves a .json file containing only your overrides, not every default binding, so profiles stay small. Import merges the file's overrides onto your existing configuration. It doesn't replace your current bindings.

The profile format looks like this:

{
  "schemaVersion": 1,
  "exportedAt": "2026-04-04T12:00:00.000Z",
  "app": "daintree",
  "overrides": {
    "terminal.new": ["Cmd+Alt+T"],
    "terminal.duplicate": ["Cmd+T", "Cmd+Shift+D"]
  }
}

On import, Daintree validates the file size (100 KB max) and schema version. Any action IDs that don't exist in the current app version are skipped silently, so profiles are safe to share across different Daintree releases.

Note
Import merges onto your existing bindings. It won't remove or overwrite shortcuts that aren't in the profile file. If you want a clean slate, run Reset All before importing.

Windows-Specific Bindings

Most shortcuts work the same across platforms once Cmd maps to Ctrl. A few defaults exist only on Windows, to match what local users already expect.

ActionShortcut
Close focused terminal (additional default)Ctrl+F4
Close active portal tab (additional default)Ctrl+F4
Open focused panel context menu (additional default)Menu key (ContextMenu)
Note
AltGr on European layouts. Daintree skips keybinding matches when the event carries the AltGraph modifier, so layouts that use AltGr to type , @, {, or } still produce those characters rather than triggering a Ctrl+Alt+letter binding.

Dangerous-Flag Indicator

When an agent is launched with a flag that bypasses its built-in permission prompts, Daintree marks the panel with a small red dot next to the title. The tooltip explains that the agent was launched with dangerous permissions and can modify files without prompting, so you can see at a glance which panels carry that risk.

The indicator appears for any of these launch flags:

  • --dangerously-skip-permissions (Claude Code)
  • --yolo (Gemini)
  • --dangerously-bypass-approvals-and-sandbox (Codex)
  • --force (Cursor)

The same red dot carries over to a panel's tab button when it's docked, so dangerous agents stay visible from the dock. See AI Agents for how launch flags are configured per agent.

Accessibility

Daintree exposes shortcuts to assistive tech through the W3C aria-keyshortcuts attribute. NVDA, JAWS, and VoiceOver announce the combo alongside the control label, formatted as Meta+Shift+P on macOS and Control+Shift+P on Windows and Linux.

Chord combos are left out of aria-keyshortcuts on purpose. The W3C spec doesn't model sequential keys, so there's no way to express them. Chords stay discoverable through the chord indicator HUD and the Shortcut Reference dialog instead.

Tooltips across the toolbar, panel headers, dock, and stash actions show their shortcuts as styled chord pills. The visible chip is marked aria-hidden, and a single screen-reader span carries the full readable label, so the announcement doesn't repeat.

Worktree List Navigation

The worktree list takes arrow keys, with optional Vim-style navigation on top:

  • Default: arrow keys, Enter/Space, and the quick actions shown above
  • Vim-style bindings: j/k for moving through the worktree list

Cmd+T and the Last-Closed Terminal

Cmd+T does more than open a blank terminal. In the panel grid, while panels are open, it duplicates the focused panel. Once every panel is closed, it creates a fresh terminal seeded from the configuration of the last panel you closed.

So if you close a Claude terminal and press Cmd+T, you get a new Claude terminal in the same working directory, with the same model and launch flags. The snapshot captures:

  • Agent type (Claude, Gemini, Codex, OpenCode, or plain terminal)
  • Working directory and worktree
  • Model ID and agent launch flags
  • The original command string, preserved verbatim

This is not the same as Cmd+Shift+T, which restores the actual terminal instance from the trash, scrollback history and all. Cmd+T starts a fresh process and uses the last-closed configuration as a template. See Terminals & Panels for more on panel types and the grid layout.

Note
The last-closed configuration is session-only. It isn't saved to disk, so restarting Daintree clears it. Switching projects clears it too. Only the single most recently closed panel is remembered, and each close overwrites the previous one.
Note
On Windows and Linux, substitute Ctrl for Cmd in every shortcut. The one exception is terminal copy and paste, where Ctrl+C sends an interrupt signal. Those rows list both platform variants explicitly.