Skip to content

TUI panels

The Manage section of the TUI is eight full panels, and each one is driven almost entirely by single letter keys. There are no menus and no mouse. This page is the reference for what every key does in every panel.

Open the section with /manage, or jump straight to a panel with its slash command (/skills, /mcp, /tasks, /memory, /llm, /telegram, /import, /privacy). Tab and Shift+Tab cycle between panels.

Conventions

A few things hold across every panel:

  • j / k and Up / Down move the row cursor. They are interchangeable everywhere.
  • Enter triggers the row’s primary action.
  • Esc closes a detail view, a modal, or a form — never the panel itself.
  • r refreshes; a, where present, toggles auto-refresh.
  • Panels keep the chat editor unfocused, which is why bare letters work as commands. Typing / anywhere opens the slash palette instead.

Skills

The Skills panel lists what is installed and, through its built-in hub, browses and installs new skills from ClawHub and your configured GitHub taps.

List

KeyAction
j / k, Up / DownMove the cursor
EnterOpen the skill’s detail view
eEnable or disable the selected skill (writes skills.disabled)
iOpen the remote skill hub
dUninstall the selected skill — opens a confirm
fCycle the filter (all / enabled / disabled)
aToggle auto-refresh
rRefresh the list

Detail

KeyAction
EscClose the detail view
eEnable or disable the displayed skill
rRefresh

Hub

i from the list opens the hub: a browsable catalog of remote skills with download counts for ClawHub entries.

KeyAction
j / k, Up / DownMove the cursor
/Focus the search field
EnterOpen the selected skill’s pre-install card
rRe-browse the catalog
EscReturn to the installed list

While the search field is focused, every printable key types into the query, Enter runs the search, and Esc unfocuses without searching. Navigation hotkeys are swallowed so a stray j never jumps the list mid-query.

Pre-install card

The card shows the skill’s SKILL.md before anything is written to disk.

KeyAction
i, y, or EnterInstall the skill
n or EscClose the card, return to the hub
j / k, Up / DownScroll the body one line
PageUp / PageDownScroll the body one screen

Confirms

Both confirm modals take the same two answers, and both swallow every other key so a stray hotkey cannot act behind them.

KeyAction
y or EnterConfirm
n or EscCancel

The install confirm only appears when the scan flags the skill as risky — typically because it carries runnable scripts. Pressing y there is your acknowledgment of that risk, the same thing --acknowledge-risk does on the CLI. The uninstall confirm appears on every d and ignores input while the delete is in flight.

MCP

The MCP panel is a live view of your configured servers, and it edits them: n adds a server and d removes one.

List

KeyAction
j / k, Up / DownMove the cursor
EnterOpen the server’s detail view
nOpen the add-server modal
d, Delete, or BackspaceRemove the selected server — opens a confirm
aToggle auto-refresh
rRefresh

Detail

KeyAction
EscClose the detail view
j / k, Up / DownMove the cursor within the sub-tab
1Jump to the Tools sub-tab
2Jump to the Resources sub-tab
3Jump to the Prompts sub-tab
[ / ], Left / RightCycle sub-tabs
dRemove this server — opens a confirm
rRefresh

Add-server modal

The modal hands the keyboard to a text editor, so there are no letter hotkeys inside it. Paste one MCP server config as JSON — either a bare server object or the { "mcpServers": { ... } } envelope that Claude Desktop and Cursor use. A top-level command plus args, with no transport wrapper, is accepted too and promoted to stdio.

KeyAction
EnterSubmit the JSON
EscCancel

Because paste delivers its whole payload before the next Enter is read, multi-line JSON pastes cleanly.

Remove confirm

KeyAction
y or EnterRemove the server
n or EscCancel

Keys are ignored while the removal is in flight, so a repeated y cannot queue a second write to config.json.

Tasks

List

KeyAction
j / k, Up / DownMove the cursor
EnterOpen the task’s detail view
nOpen the create-task form
cCancel the selected task
RRun the selected task now
/Open the search field
fCycle the status filter
aToggle auto-refresh
rRefresh
EscClear an active search query

While the search field is open, printable keys type into the query, Enter commits it and closes the caret, and Esc cancels and wipes the query. Every keypress is swallowed there, so list hotkeys never fire mid-search.

Detail

KeyAction
EscClose the detail view
oOpen the task’s session
RRun the task now
cCancel the task (same no-confirm rule as the list)
rRefresh

Create form

Navigation here deliberately uses Tab rather than arrows for field-to-field movement, and the arrows are reserved for the schedule-kind selector.

KeyAction
Tab / Shift+TabMove to the next / previous field
EnterMove to the next field; submit when the cursor is on the submit row
Ctrl+EnterSubmit from anywhere in the form
Left / RightCycle the schedule kind (cron / interval / at) while that field is focused
EscDiscard the form

Every other printable key types into the focused text field. The schedule preview revalidates as you type, so a bad cron expression shows up before you submit.

Cancel confirm

KeyAction
yCancel the task
n or EscKeep it

Memory

The Memory panel is read-only: it browses channels, follows links between notes, and expands a note’s graph neighbours. Nothing here writes.

List

KeyAction
j / k, Up / DownMove the cursor
EnterOpen the row’s detail view. On a links row it jumps to the source note instead
16Jump directly to that channel
[ / ]Cycle to the previous / next channel
fCycle the archive filter (notes channel only)
aToggle auto-refresh
rRefresh the current channel

The digits map onto the channel list in display order, so 1 is always the first channel available in your build, not a fixed name.

Detail

KeyAction
EscClose the detail view
gExpand the note’s graph neighbours (notes channel only)
EnterFollow the selected link to its neighbouring note (notes channel only)
rRefresh

Enter walks the note’s outgoing links first, then its incoming ones, then anything g has already expanded — so pressing g before Enter widens what you can reach.

LLM

The LLM tab has four panes, not one: local, cloud, external, and fallback, in that left-to-right order. [ / ] and Left / Right switch between them, and the cursor position is remembered per pane.

Shared keys

These work in every pane.

KeyAction
j / k, Up / DownMove the cursor
EnterTrigger the row’s primary action
[ / ], Left / RightSwitch pane
fFocus the inline model filter (switches to the Cloud pane first)
nAdd a provider (switches to the Cloud pane first)
cConfigure the selected provider (switches to the Cloud pane first)
eActivate the provider’s embedding model
EToggle the embedding master switch
sStart or stop the managed daemon
BPull or update the llama.cpp backend
LJump to the LLM logs tab
rRefresh providers and local models
/Open the slash palette

While the inline model filter is focused, printable keys edit the query, Up / Down walk the filtered results, Enter selects, and Esc unfocuses while keeping the text.

Local models pane

The local pane has extra keys that only apply to catalog rows:

KeyAction
EnterDo the next obvious thing for the row: pull it, pull a missing mmproj, make it active, or start the daemon
gPull the GGUF only, skipping the mmproj — a fast text-only smoke test
iOpen the row’s detail view
dDelete the downloaded model — opens a confirm
GCycle the daemon’s GPU device preference
q or EscClose the detail view

Remove confirms take y to delete and n or Esc to cancel. The chat-model and embedding-model confirms are kept strictly separate, so a y meant for one can never delete the other.

Fallback pane

The fallback chain is editable from this pane, and that is worth pausing on: the chain decides where a prompt goes when the head provider fails. Reordering or adding a link can send your next prompt to a different vendor than you expect.

KeyAction
j / k, Up / DownMove the cursor
< / >Move the selected link up / down in priority
a or EnterOpen the add-link picker
dRemove the selected link
lToggle whether the local model is appended as the last resort

In the add-link picker, j / k and Up / Down move, Enter adds the highlighted provider, and Esc cancels. Every other key is swallowed while the picker is open.

Telegram

KeyAction
EnterAdvance the connect flow by exactly one step
eEnable or disable the Telegram channel
tOpen the masked token prompt
TClear the stored bot token
oStart owner pairing
OClear the stored owner
rRestart the bridge
RRefresh the panel
aToggle the advanced view

Token prompt

The token prompt is masked, and it is the only way the token is ever entered — it is never taken as a command argument, so it cannot land in your shell history.

KeyAction
EnterSubmit the token
EscCancel
BackspaceDelete the last character

Every printable key types into the masked buffer.

Pairing

While pairing is running, Esc cancels it and no other key does anything. Once the result is shown, any key dismisses it.

Privacy

KeyAction
15Jump the approval ladder straight to that level
Left / RightStep the ladder one level down / up
aToggle anonymous analytics and error reporting
rRefresh the persisted snapshot

Every key is ignored while a write is in flight, so a double-press cannot stack two level changes.

You can also drive this from the editor: /privacy level 1..5, and /privacy approve on|off as aliases for levels 5 and 1. See Approvals for what each level covers.

Import

The Import panel migrates sessions and tasks from Hermes or OpenClaw. It runs in three stages: configure, preview, execute.

Configure form

Navigation uses Up / Down rather than Tab on purpose — the global Tab keeps cycling between panels, so the form never traps you.

KeyAction
Up / DownMove between fields
EnterToggle the focused switch, flip the source, or start the dry run from the run row
Space, Left / RightFlip the focused toggle or switch the source
Ctrl+EnterStart the dry run from anywhere in the form
BackspaceDelete the last character in a text field

Letters type into the two text fields, source and limit. On toggle and source rows, stray letters are swallowed rather than typed.

Preview

The dry run reports what would be imported without writing anything.

KeyAction
y or EnterExecute the import for real
n, e, or EscDiscard and return to the form

While the import is running every key is swallowed. When it finishes, Enter or Esc resets the panel.

Where to go next

  • CLI & TUI — the surrounding TUI: Run, Observe, sidebar, and global shortcuts.
  • Skills — what skills are and how installation works.
  • Approvals — what each rung of the approval ladder allows.