Hive key bindings
Every Hive command with its default key after Ctrl+Space, the prefix-free Alt chords, and how to rebind or unbind any of them in config.toml.
Everything you type goes to the agent, except the leader key, Ctrl+Space, and the one key you press after it. Press the leader, let go, then press the command key. Keys are case-sensitive: n is the next session, N (Shift+n) opens notes. To send Ctrl+Space itself to the agent, press it twice.
In Hive, Ctrl+Space ? shows your current bindings, and Ctrl+Space : finds any command by name, including those without a key (shown as palette below).
Find and switch
| After Ctrl+Space | Action | Name |
|---|---|---|
| : P | Command palette: every command, session and workspace | palette |
| / | Search sessions by name, agent, workspace or branch | search_sessions |
| n j ↓ | Next session | next_session |
| p k ↑ | Previous session | prev_session |
| Alt+↓ no leader | Next space | next_workspace |
| Alt+↑ no leader | Previous space | prev_workspace |
| w | Switch workspace (space) | workspaces |
| s Tab | Focus the sidebar | sidebar |
| b | Show or hide the sidebar | toggle_sidebar |
Start things
| After Ctrl+Space | Action | Name |
|---|---|---|
| c | New terminal in the focused pane's directory | new_session |
| A | New agent: pick one from a list | new_agent |
| C | New terminal in its own git worktree (own branch) | new_worktree_terminal |
| palette | New agent in its own worktree (pick one) | new_worktree_session |
| S | New space: a terminal in your home folder | new_space |
| palette | Add a folder as a space | add_workspace |
| L | Open a layout (needs a [layouts.<name>]) | layout |
Panes and tabs
| After Ctrl+Space | Action | Name |
|---|---|---|
| v % | Split: new terminal on the right | split_right |
| - " | Split: new terminal below | split_down |
| o | Focus the next pane | focus_next_pane |
| z | Zoom the focused pane; again to restore | zoom |
| X | Close the pane and end its session | close_pane |
| t | New tab with a terminal | new_tab |
| ] or Alt+→ no leader | Next tab (with one tab: next agent in the space) | next_tab |
| [ or Alt+← no leader | Previous tab | prev_tab |
| palette | Close the tab and end its sessions | close_tab |
Sessions
| After Ctrl+Space | Action | Name |
|---|---|---|
| r | Rename session | rename_session |
| x | Terminate session (asks first) | kill_session |
| a | Take input control from another window | take_control |
| d q | Detach: leave Hive, agents keep running | detach |
| palette | Rename workspace | rename_workspace |
Integrations
| After Ctrl+Space | Action | Name |
|---|---|---|
| I | Integrations: turn each one on or off | integrations |
| N | Open the workspace's Obsidian vault (needs [integrations.obsidian]) | notes |
| G | Review changes (lazygit, tig or git diff) (needs [integrations.review]) | review |
| H | Pull request checks for the branch (needs [integrations.github]) | pull_request |
| T | Run a project task beside the session (needs [integrations.tasks]) | run_task |
| U | Token usage and cost of your agents (needs [integrations.usage]) | usage |
Help
| After Ctrl+Space | Action | Name |
|---|---|---|
| ? | Help: your current key bindings | help |
| palette | Show where the config file is | settings |
Jumping to an agent
Ctrl+Space 1–9, or Alt+1–Alt+9 without the leader, opens an agent by its number in the sidebar's AGENTS list, switching space if needed. The digits are reserved and can't be rebound.
In the sidebar
After Ctrl+Space s: ↑ ↓ (or j k) move, Enter opens (or relaunches a lost session), n opens a new terminal, x terminates, r renames, w opens workspaces, p the palette, / session search, ? help, q detaches and Esc or Tab goes back to the terminal.
Changing keys
Bindings live in ~/.config/hive/config.toml. Use the names from the tables above. Setting a command replaces its default keys; an empty list unbinds it, and it stays in the palette.
[keys]
leader = "ctrl+a" # needs Ctrl, Alt or an F-key
jump_modifier = "alt" # Alt+1-9; "ctrl+alt", or "" for off
[keys.bind] # after the leader
new_session = "n"
add_workspace = ["W", "f2"]
kill_session = [] # unbind
[keys.global] # without the leader; needs Ctrl or Alt
next_tab = "ctrl+alt+right"
prev_workspace = [] # give Alt+Up back to the agentIf Ctrl+Space does nothing, your desktop or input method probably uses it; choose another leader. Hive refuses a config with clashing keys and says which, and hive doctor checks the file without opening the interface.
Something wrong or missing? Open an issue.