Keymap cheatsheet

Every key the cockpit handles, in one place. The in-app ? overlay is the canonical source — this page mirrors it for offline reference.

Global (works everywhere)

KeyEffect
TabNext screen
Shift+TabPrevious screen
19Jump to S1 – S9
0Jump to S10 (Pins)
Alt+1Alt+5Jump to S11 – S15 (Manifest, Watchlist, FeedTimeline, Pubsub, Fleet)
Ctrl+NOpen node picker (also :nodes)
Ctrl+Alt+NOpen notification history overlay (v1.14+) — see :notifications
Shift+EOpen the batch-economics modal (v1.12+) — guided form for topup/dilute/extend/buy/plan previews
Shift+LToggle fullscreen log pane (v1.13+) — collapses the active screen so the log pane fills the middle of the cockpit. Press again to return.
/Open the log-pane filter prompt (v1.13+) — case-insensitive substring; Enter commits, Esc cancels. With an active filter, Esc (no prompt open) clears it.
[ / ]Previous / next tab on the bottom log pane (Errors / Warn / Info / Debug / Bee HTTP / bee::http / Cockpit). Persisted across launches.
+ / -Grow / shrink the bottom log pane height by one line. Clamped to 4..24. Persisted across launches.
Shift+↑ / Shift+↓Scroll the active log tab back / forward by one line. Pauses auto-tail; the title shows a paused N ↑ indicator.
Shift+PgUp / Shift+PgDnSame, ten lines at a time.
Shift+EndResume auto-tail (snap back to the latest entries).
?Toggle help overlay
:Open command bar
qqQuit — double-tap within ~1.5 s. First q shows a footer hint; second q confirms. :q also works for an unguarded quit.
Ctrl+C / Ctrl+DQuit immediately. Escape hatch if the cockpit ever stops responding to qq.
EscClose help / drill / command bar / cancel current input. Also cancels a pending q (so you can back out without committing).

Screen-specific keys

S5 is read-only with no screen-specific keys. S1 / S7 / S8 are read-only but their content can overflow a short terminal, so they take the free-scroll keys below (v1.16+).

Free-scroll keys (S1, S3, S4, S7, S8)

Screens whose body can outgrow the viewport but have no selection cursor scroll directly:

KeyEffect
↑↓ / j kScroll one line
PgUp / PgDnScroll ten lines
Home / EndJump to top / bottom

A right-edge scrollbar appears whenever the content overflows. On S3 Swap, which stacks two scrollable tables, / (or h/l) pick which table the scroll keys drive — the focused table's title is accent-coloured.

S1 — Health gates

KeyEffect
↑↓ / j k / PgUp / PgDn / Home / EndFree-scroll the gates list

S2 — Stamps + bucket drill

KeyEffect
↑↓ / j kMove row selection
Drill into selected batch (bucket histogram + worst-N)
EscClose drill

S3 — Swap / cheques

KeyEffect
←→ / h lFocus the cheques ↔ settlements table
↑↓ / j k / PgUp / PgDn / Home / EndFree-scroll the focused table

S4 — Lottery + rchash

KeyEffect
rFire / re-fire rchash benchmark
↑↓ / j k / PgUp / PgDn / Home / EndFree-scroll the stake card

S7 — Network / NAT

KeyEffect
↑↓ / j k / PgUp / PgDn / Home / EndFree-scroll the public-addresses list

S8 — API / chain

KeyEffect
↑↓ / j k / PgUp / PgDn / Home / EndFree-scroll the pending-tx table

S6 — Peers + bin saturation + drill

KeyEffect
↑↓ / j kMove cursor in peer table
PgUp / PgDnPage through peers
HomeJump to first peer
Drill into selected peer (4 endpoints in parallel)
EscClose drill

S9 — Tags / uploads

KeyEffect
↑↓ / j kScroll one row
PgUp / PgDnScroll ten rows
HomeBack to top

S11 — Pins

KeyEffect
↑↓ / j kMove cursor through the pinned-reference list
Drill into selected pin (pin detail)
EscClose drill

S12 — Manifests

KeyEffect
↑↓ / j kMove cursor through the Mantaray tree
Toggle expand / load the cursored fork (lazy fetch)

The cursored row's reference (target hex, or fork self-address) is rendered on a selected: detail line above the footer for terminal-native click-drag copy — there's no explicit copy key.

S13 — Watchlist

KeyEffect
↑↓ / j kMove cursor through :watch-ref daemons

S14 — Feed Timeline

KeyEffect
↑↓ / j kMove cursor through the feed update history
PgUp / PgDnPage ten entries

S15 — Pubsub watch

KeyEffect
↑↓ / j kMove cursor through the merged PSS / GSOC timeline
PgUp / PgDnPage ten entries
cClear the timeline (subscriptions stay open)

The view scrolls to keep the cursored message visible, with a right-edge scrollbar when the timeline overflows (v1.16+).

S16 — Fleet view

KeyEffect
↑↓ / j kMove cursor through configured nodes
Switch context to the cursored node
rRe-poll the cursored row now

The view scrolls to keep the cursored node visible, with a right-edge scrollbar when the fleet overflows (v1.16+).

The command bar

: opens it. Once open:

KeyEffect
Run the typed command
EscClose without running
BackspaceDelete left
any printableAppend to command buffer

See The :command bar for what each command does.

Conventions

  • The cockpit prefers vim-style keys (j/k, :command, Esc-to-close) but every nav key has an arrow-key + named-key alias. You don't have to know vim.
  • No Ctrl+ chords for normal navigation. The cockpit reserves Ctrl-keys for terminal escape sequences (Ctrl+C exits via SIGINT, etc.). All screen actions are single keystrokes.
  • Esc is universal close. Whatever's most-recently opened — drill / help / command bar — is what Esc closes. The hierarchy is: command bar > help overlay > drill > nothing.

Why qq instead of just q

A bee-tui session is something operators leave running in the background while doing other work. A single q was found to be too easy to misclick — especially when navigating in from another shell. The double-tap guard means a stray keystroke costs you a footer hint, not a session.

If you really want unguarded quit, use :q from the command bar. Ctrl+C and Ctrl+D are also unguarded — they remain the canonical "I want out now" escape hatches and bypass the double-tap entirely.

Discovering keys

Open ? on any screen. The overlay shows the global keymap plus the keys for the current screen. So pressing ? on S6 lists peer-drill keys; pressing ? on S9 lists scroll keys. No memorisation needed.

The node picker overlay

Ctrl+N (or :nodes) opens a centred overlay listing every [[nodes]] entry from config.toml. The cursor lands on the currently active node:

KeyEffect
↑↓ / j kMove cursor through configured nodes
Switch to the cursored node (rebuilds API client + watch hub; no-op if cursor is already on the active node)
Esc / Ctrl+NClose without switching

The active node is marked and the default = true entry is marked . After switching, the metadata line at the top of the cockpit updates to show the new profile and endpoint; any :watch-ref daemons and pubsub subscriptions that were running against the previous node are cancelled (they don't follow the context — re-issue the verbs against the new node if you want them there too).

The notification history overlay

Ctrl+Alt+N (or :notifications) opens a centred overlay listing the most recent 200 alert transitions the cockpit has observed, newest first. Same source as the toast overlay (and the optional webhook / desktop notification sinks): every gate transition (S1 health gates + S15 fleet rows) becomes one entry, severity-coloured. A problem that was already true at launch (a batch already near expiry) is surfaced too, as an "at startup" entry — the overlay isn't blind to pre-existing state (v1.15+).

KeyEffect
EscClose

Toasts appear in the top-right corner whenever a new transition is ingested. They auto-dismiss after [notifications].toast_seconds (default 8 s) and are capped at 3 visible at once. Disable them by setting [notifications].toast_enabled = false in config.toml — the history overlay still works.

Because toasts auto-dismiss, the top-bar awareness row also carries a notif N chip (v1.15+) — a persistent, warn-coloured count of notifications that have arrived since you last opened the history. It's hidden at zero and cleared to zero the moment you open the overlay, so it doubles as your "have I seen everything?" indicator.

The help overlay

? opens a centred overlay with two pages:

KeyEffect
?Toggle the overlay
Tab / Shift+TabSwitch between Keys and Verbs pages
Esc / ? / qClose

The Keys page mirrors this cheatsheet (global keys + the screen-specific block for whichever screen is active). The Verbs page lists every :verb grouped by category (navigate, inspect, stamps & economics, uploads, durability, pubsub, mining, diagnostics, cockpit) so the entire surface is discoverable without leaving the cockpit.

What's not bound

The cockpit deliberately leaves these unbound:

  • Up/down arrow for screen jumpTab (or the digit keys) is the screen-jump path. Arrow keys are reserved for in-screen navigation.
  • / for search — there's no global text search yet. Most screens are too short to need one, and where they aren't (S6 peers, S9 tags), you can scroll with j/k/PgDn/Home.