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+SpaceActionName
: PCommand palette: every command, session and workspacepalette
/Search sessions by name, agent, workspace or branchsearch_sessions
n j ↓Next sessionnext_session
p k ↑Previous sessionprev_session
Alt+↓ no leaderNext spacenext_workspace
Alt+↑ no leaderPrevious spaceprev_workspace
wSwitch workspace (space)workspaces
s TabFocus the sidebarsidebar
bShow or hide the sidebartoggle_sidebar

Start things

After Ctrl+SpaceActionName
cNew terminal in the focused pane's directorynew_session
ANew agent: pick one from a listnew_agent
CNew terminal in its own git worktree (own branch)new_worktree_terminal
paletteNew agent in its own worktree (pick one)new_worktree_session
SNew space: a terminal in your home foldernew_space
paletteAdd a folder as a spaceadd_workspace
LOpen a layout (needs a [layouts.<name>])layout

Panes and tabs

After Ctrl+SpaceActionName
v %Split: new terminal on the rightsplit_right
- "Split: new terminal belowsplit_down
oFocus the next panefocus_next_pane
zZoom the focused pane; again to restorezoom
XClose the pane and end its sessionclose_pane
tNew tab with a terminalnew_tab
] or Alt+→ no leaderNext tab (with one tab: next agent in the space)next_tab
[ or Alt+← no leaderPrevious tabprev_tab
paletteClose the tab and end its sessionsclose_tab

Sessions

After Ctrl+SpaceActionName
rRename sessionrename_session
xTerminate session (asks first)kill_session
aTake input control from another windowtake_control
d qDetach: leave Hive, agents keep runningdetach
paletteRename workspacerename_workspace

Integrations

After Ctrl+SpaceActionName
IIntegrations: turn each one on or offintegrations
NOpen the workspace's Obsidian vault (needs [integrations.obsidian])notes
GReview changes (lazygit, tig or git diff) (needs [integrations.review])review
HPull request checks for the branch (needs [integrations.github])pull_request
TRun a project task beside the session (needs [integrations.tasks])run_task
UToken usage and cost of your agents (needs [integrations.usage])usage

Help

After Ctrl+SpaceActionName
?Help: your current key bindingshelp
paletteShow where the config file issettings

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.

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 agent

If 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.