Skip to content

Keybindings

View Markdown~5,580 tokens

Ctrl+X is the leader. It acts as a prefix: press it, then press the chord's second key. Nothing happens until that second key arrives, and Esc cancels. Hold the leader for a moment and a panel lists every chord available where you are.

Leader chords are written as two keys below, and every one of them is reachable on any terminal: Caudra ships no Alt defaults, because macOS routes Option through the input method and never reports it as Alt.

PageUp, PageDown, Home, and End act on whatever holds the keyboard. While you are typing they belong to the composer, so Home and End move the text cursor and the page keys scroll a draft too tall to fit. When the draft fits, a page key scrolls the transcript and hands it the focus, so Home and End then reach the top and bottom of the chat.

Typing anything takes the focus back, and so does Esc. Clicking the transcript gives it the focus, and clicking the composer returns it. The wheel scrolls whatever the pointer is over and leaves the focus where it is. Ctrl+U, Ctrl+G, and Ctrl+X b scroll the transcript wherever the focus sits, and an open modal claims all four navigation keys for itself.

Anywhere a scrollbar is shown it can be dragged. Press the thumb and the surface follows the pointer, press the track anywhere else and the thumb jumps there and stays held. Hold Alt while dragging to cover an eighth of the distance, which is what makes a long transcript landable. Dragging the transcript bar shows which message the thumb is on.

A modal whose lines run wider than the screen wears a second bar along its bottom border, and drags the same way. Shift+Left and Shift+Right move it by a column of a table at a time, and a sideways wheel over the modal moves it too. The bar appears only while there is something off the edge to reach.

That bar carries an arrow at each end, and pressing one moves half a screen; an arrow dims once its direction is spent. The arrows are the way across on a phone: Android terminals send no sideways wheel at all, so a swipe that way reports nothing, and a tap is the only gesture left. They are deliberately easy to hit, so a press just above one still counts.

Holding Alt while turning the wheel scrolls four times as far. A middle-click anchors the view and scrolls it on its own, faster the further you then move the pointer from the mark, until you middle-click again or touch anything else. ui.scrollbar set to false hides the bars and with them the drag.

KeyAction
Ctrl+CQuit / clear input (copies instead when text is selected)
Ctrl+D Ctrl+DExit
Ctrl+PCommand palette
Ctrl+XLeader: lists the chords below, then runs the one you press
F1 / Ctrl+X ?Show keybindings
Ctrl+FSearch messages
Ctrl+X yCopy last reply as markdown
Ctrl+X rReview the last reply
Ctrl+S / Ctrl+X fFile picker
Ctrl+O / Ctrl+X oOpen the plan in the workbench
Ctrl+X tToggle plan / todo panel
Ctrl+X aOpen tasks
Ctrl+X kOpen the workflow inspector (needs experimental.workflows)
Ctrl+X lBrowse sessions
Ctrl+X nStart a new session
Ctrl+X vToggle compact / expanded transcript
Ctrl+X sStash the current prompt
Ctrl+X pRestore the newest stashed prompt
Ctrl+X mModel picker
Shift+Left / Shift+RightPan a modal too wide for the screen left / right
Ctrl+X wOpen the workbench
KeyAction
EnterSubmit prompt
TabToggle BUILD/PLAN mode
Ctrl+T / Shift+TabCycle reasoning effort
/commandOpen command palette
Home / EndStart / end of line or transcript
PageUp / PageDownPage the draft or the transcript
Ctrl+UScroll half page up
Shift+Left / Shift+RightPan a wide diagram left / right
Ctrl+GScroll to top
Ctrl+X bScroll to bottom
Ctrl+Q / Ctrl+X qPop queue
Esc EscRewind
Ctrl+X eEdit the prompt in the workbench

These keys work the same in every text field: the composer, a picker's filter, forms and prompts, /btw, and the workbench editor with its fields. Where a surface binds one of them itself, the surface wins. /btw keeps Ctrl+Y to copy the answer, and the permissions picker keeps Ctrl+E to edit, Ctrl+K to revoke, and Ctrl+Y to copy a rule. In a list, Home and End move the cursor in its filter, and Ctrl+Home and Ctrl+End pick the first and last item.

Ctrl+Z is undo everywhere, so it never suspends Caudra. A masked field, such as an API key, refuses to select all, copy, or cut. A terminal paste goes to the field that has focus. Super chords need a terminal that reports them, such as one with the kitty keyboard protocol.

KeyAction
Ctrl+W / Ctrl+BackspaceDelete the word or path component before the cursor, or the selection
Ctrl+DeleteDelete the word or path component after the cursor, or the selection
Ctrl+KDelete to the end of the line, or join the next line at its end
Super+BackspaceDelete to the start of the line
Ctrl+ASelect all
Ctrl+Z / Ctrl+YUndo / redo
Ctrl+CCopy the selection, or run the surface's own action when nothing is selected
Shift+DeleteCut the selection
Ctrl+← / Ctrl+→Move by word
Home / Super+←First character of the line, then column zero
End / Ctrl+E / Super+→End of the line
Ctrl+Home / Ctrl+EndStart / end of the text
Shift+moveExtend the selection with any move above
Shift+Enter / Ctrl+Enter / Ctrl+JNewline, in a field that takes more than one line
KeyAction
EnterInsert newline
Ctrl+VPut back what this editor last copied or cut
Ctrl+SSave pasted text
EscCancel editing
KeyAction
↑ / ↓Move the caret through the passage
Shift+↑ / Shift+↓ / Shift+← / Shift+→Select part of the passage
Ctrl+ASelect the whole passage
Ctrl+CCopy the selection
EnterWrite a note on the selection
e / dEdit or delete the note under the cursor
n / pJump between notes
Ctrl+SSend notes to the prompt
KeyAction
↑ / ↓Navigate input history
Esc EscCancel agent
EnterSend prompt next
Ctrl+X gGuide current run
Ctrl+X xStop and replace current run
KeyAction
↑ / ↓Navigate options
F2Ask /btw about a pending main-agent question without answering it
EnterSelect option
EscClose
KeyAction
↑ / ↓Navigate
EnterSelect
EscClose
TypeFilter
PageUp / PageDownScroll page up / down
Ctrl+Home / Ctrl+EndFirst / last item
Ctrl+UScroll page up
KeyAction
↑ / ↓Scroll the page, or move through the contents or the results
← / →Pan across a row too wide for the reader
n / pNext or previous heading
Tab / Shift+TabSelect the next or previous link on screen
EnterFollow the link, or open the page or result; links out open in the browser
Backspace / [Back to the place a link or result was opened from
]Forward again
/Search every page; Esc returns to the page
F3 / Shift+F3Next or previous search highlight
cContents; typing filters them, Esc clears the filter
Ctrl+CCopy the selection, or close
Esc / qClose, keeping the place for the next /docs

These keys exist only with sandboxes = true under [experimental]. See Experimental features.

KeyAction
Ctrl+SValidate and save sandbox defaults; export preview saves as a new file
Tab / Shift+TabMove focus between sandbox list and form fields (never insert a tab)
EnterInspect/edit; confirmations default to Keep, not Accept
Ctrl+EnterApply to draft, or preview a live action for separate confirmation
F2Choose provider, image, policy or purpose-store credential reference
EscClose, not cancel operations; retain live drafts; offer Save/Discard for configuration
1 / 2 / 3 / 4Switch Instances, Profiles, Images, Providers when not editing text
/Search the sandbox master list
n / d / DeleteProfiles: new, duplicate or stage deletion; Instances: d detaches, Delete reviews deletion
g / tBrowse and edit reusable Network or Transfer policies from Profiles
i / xImport a strict configuration draft or preview a reference-only export
c / r / aCompare baseline/draft/external file, reload, or save as a new private file
a / u / p / eInstances: review Attach, Resume, Pause or Extend
v / r / zProfiles: Create VM; Instances: Reconcile or explicitly Cancel create
h / kDoctor; Providers: edit lifecycle credential in its purpose store
i / b / g / lImages: approved offline Import, Build, GC or Inspect
g / F4 / F6Live network preview/apply; Test rules (no probe); discard action draft
Ctrl+N / Ctrl+UDomain and CIDR lists: append a rule line, or clear the current line
Ctrl+G / Ctrl+LLive action forms: focus the first or last field

See Managed Sandboxes for instance actions and image forms for the host picker and approved probe. File uploads and downloads live in the workbench Transfer view, available after attaching to a sandbox. Leaving Transfer requests cancellation and waits for cleanup.

KeyAction
Esc / Ctrl+X wBack to the transcript
Ctrl+X bShow or hide the sidebar
Ctrl+X - / Ctrl+X =Narrow / widen the sidebar
Ctrl+X 1Explorer
Ctrl+X 2Source control
Ctrl+X 3Search
Ctrl+X 4Transfer files with the attached sandbox (needs experimental.sandboxes)
Tab / Shift+TabLeave the sidebar for the editor
Ctrl+POpen a file by name
F5Reread the tree and the repository
Ctrl+X EnterSend the file or selection to the composer
Ctrl+X .Open the context menu for the row or tab under the cursor

Some pickers add extra bindings on top of the defaults:

ContextKeyAction
QueueShift+Up / Shift+DownMove item up / down
QueueEnterEdit item
Queued / DeleteDelete item
QueuemMove unsent item to Main
QueuegGuide current run
QueuenMove prompt to Up next
QueuebToggle send together
Queue.Open item actions
QueuerReplace current run
CommandsTabComplete command
Model PickerRClear job binding
Session PickerCtrl+NNew session
Session PickerF2Move current session
Session PickerF3Migrate directory sessions
Session RelocationCtrl+OEnter a custom destination directory
Session RelocationCtrl+RChange relocation source or destination selection
Session RelocationSpaceToggle the selected historical project usage row in bulk confirmation
Worktree PickerCtrl+NNew worktree
Worktree PickerCtrl+DRemove the selected worktree
Worktree PickerCtrl+RRefresh the worktree list
Worktree PickerSpaceToggle carrying uncommitted changes into a new worktree
Session PickerCtrl+RRename session
Session PickerCtrl+GGenerate session title
Session PickerCtrl+DDelete session (press twice)
Stash PickerCtrl+DDelete stash entry (press twice)
Peer Manager1 / 2 / 3Switch Sessions / Held messages / Messages outside filter editing
Peer Manager/Edit the current view's filter; Enter keeps it, Esc clears it
Peer ManagerTab / Shift+TabSwitch list/detail focus, or move between This session's controls
Peer ManagerEnterOpen the selected message review, inspect a peer, or read a channel; never approve from the list
Peer ManagerEnterIn This session, remove the focused topic, switch broadcasts, or subscribe to the typed patterns
Peer ManagerCtrl+RRefresh peer discovery or the message history without blocking the interface
Peer ManagerCtrl+YCopy the selected peer's @name or exact target outside filter editing
Peer ManageroLoad the selected channel's older stored messages
Peer ManagersSubscribe to or unsubscribe from the selected topic, or switch broadcasts on or off
Peer ManageryApprove the current rendered message review once
Peer ManagernConfirm rejection of the current reviewed message
Peer ManagerpOpen This session: its name, inbound policy, subscriptions, and broadcasts
Peer ManageraApply the selected policy, confirming any relaxation
Peer ManagerEscCancel confirmation, clear the pattern field, or leave This session; then return to the list and close
Workflow InspectorpPause the selected run
Workflow InspectorrResume the selected run
Workflow InspectorsStop the selected run
Workflow InspectorTab / Shift+TabNext or previous section
Workflow Inspector1-4Jump to a section
Workflow InspectorLeft / RightFocus the run list or the section
Workflow InspectorEnterOpen the row under the cursor: a phase's agents, a scratch file, or a call's prompt and result
Workflow InspectortOpen the transcript of the agent under the cursor
Workflow InspectoroOpen the script the selected run executed
Workflow InspectoreCopy the whole run as markdown, every prompt and result included
Workflow InspectoryCopy the visible section
Workflow Inspector/Filter the run list
Workflow CatalogEnterLaunch a trusted workflow, or trust an untrusted one
Automation InspectorEnterOpen the row under the cursor: a firing's trace, an action's request and result, or a JSON node
Automation InspectorSpaceArm or disarm the selected automation
Automation InspectoreEdit the selected automation's state or args
Automation InspectorCtrl+SSave the state or args being edited
Automation InspectortTrust the selected project script at the digest shown
Automation InspectorpPause or resume every automation in the session
Automation InspectorcClear the selected automation's state, after confirming
Automation InspectorxDrop the waiting firing or outbox item under the cursor
Automation InspectorrDry-run the finished firing under the cursor against the script as it is now
Automation InspectoroOpen the script, at the failing line for a failed firing
Automation InspectoryCopy the firing under the cursor as markdown
Automation Inspector/Filter the list by name, description, or a session's title or @name
Automation InspectorTab / Shift+TabNext or previous section
Automation Inspector1-4Jump to a section
Automation InspectorLeft / RightFocus the list or the section
DecisionsTab / Shift+TabNext or previous section
Decisions1-4Jump to a section
DecisionsLeft / RightFocus the list or the detail
DecisionsgCycle the scope: this session, this project, every session
DecisionsyCopy the selected decision as JSON, or the visible section
DecisionsCtrl+RRead the decision log again
Workbench ExplorerCtrl+X hShow hidden files
Workbench ExplorerCFold the tree back to its top level
Workbench EditorCtrl+SSave the active file
Workbench EditorCtrl+RDiscard edits and take what is on disk
Workbench EditorCtrl+F / Ctrl+GFind in file / go to line
Workbench EditorF3 / Shift+F3Next / previous match, with or without the find bar
Workbench EditorCtrl+VPut back what the workbench last copied or cut
Workbench EditorCtrl+X xCut the selection
Workbench EditorCtrl+X zWrap long lines onto more rows
Workbench EditorCtrl+PageUp / Ctrl+PageDownPrevious / next tab
Workbench EditorCtrl+X kClose the active tab
Workbench EditorCtrl+X vShow a Markdown file rendered, or its source again
Workbench Source ControlSpaceStage or unstage the file, folder, or whole section
Workbench Source ControlDOpen the diff, or the commit under the cursor
Workbench Source ControlXDiscard changes (press twice)
Workbench Source ControlTSwitch the change sections between tree and flat
Workbench Source ControlCtrl+X ↑ / Ctrl+X ↓Shrink / grow the section the cursor is in
Workbench SearchEnterRun the search, then open the file at the match
Workbench SearchCtrl+X iMove between the query and the file globs
Workbench SearchCtrl+X cMatch case
Workbench SearchCtrl+X wMatch whole words
Workbench SearchCtrl+X rRead the query as a regular expression
Workbench Transfer↑ / ↓ / k / jMove through the aligned tree
Workbench TransferPgUp / PgDn / Home / EndMove a page at a time, or to the first or last row
Workbench Transfer→ / EnterUnfold a folder, open a file's diff, or run a note's action
Workbench Transfer←Fold the folder, or step out to the one above
Workbench TransferCFold the tree back to its top level
Workbench TransferTab / Shift+TabFocus the local or the sandbox pane
Workbench TransferSpaceChoose the row, and everything under a folder
Workbench TransferU / DReview an upload / download of the chosen rows, or of the cursor row
Workbench TransferAApprove the review on screen, exactly as shown
Workbench Transfer= / F5Compare the roots again
Workbench TransferIInclude or leave out ignored files until Transfer closes
Workbench Transfer.Skip or include dotfiles until Transfer closes
Workbench TransferFShow only what differs
Workbench TransferL / SEdit the local / sandbox root
Workbench TransferCtrl+UClear the root being edited
Workbench TransferBackspaceGo back to the previous root pair
Workbench TransferOShow the last transfer report
Workbench TransferQReconcile a publication whose outcome is unknown
Workbench TransferXStop the running operation
Workbench TransferEscClose the prompt or panel, then leave Transfer once cleanup ends

Some of these contexts belong to an experimental feature and exist only while its switch is on:

  • Peer Manager: cross_session_messaging
  • Workflow Inspector: workflows
  • Workflow Catalog: workflows
  • Automation Inspector: automations
  • Decisions: decision_engine
  • Workbench Transfer: sandboxes

Child contexts inherit their parent's bindings and add their own.

  • Pickers is the base for: Rewind Picker, Theme Picker, Model Picker, Queue, Commands, Search, File Picker, Stash Picker, Session Picker, Session Relocation, Worktree Picker, Peer Manager, Workflow Inspector, Workflow Catalog, Automation Inspector, Decisions
  • Workbench is the base for: Workbench Explorer, Workbench Editor, Workbench Source Control, Workbench Search, Workbench Transfer

With Lua plugins turned on, plugins and init.lua can rebind keys at runtime with caudra.keymap.set and caudra.keymap.del. The tables above are the built-in defaults. An override on the same key wins, unless a modal or overlay is open (help, plan form, permission prompt).

Precedence, high to low:

  1. Modal and overlay keys. An open modal or picker consumes its keys first, so they cannot be shadowed while open.
  2. Lua overrides from caudra.keymap.set. Last set wins, and binding the same key twice warns.
  3. Built-in defaults. An override on the same key shadows them, and caudra.keymap.del lifts the override so the default returns. Every built-in key can be remapped this way.

Only single-key bindings can be overridden. Multi-key combinations and non-key rows (like Type to filter) cannot.

The /help modal and the splash show default labels, not live overrides, but pressing the key still runs the override.

If an override leaves Caudra stuck (a rebound Ctrl+C, a modal that will not close, a plugin that throws on load), boot without Lua:

Terminal window
caudra --no-plugins

This run skips every plugin and both init.lua files and starts no Lua host, even with lua_plugins on. Every built-in tool is native, so tools still work. caudra.toml, permissions.toml, custom commands, and env files load as usual.

The default keymap lives in Rust, not Lua, so --no-plugins never drops it.

These are input conventions, not remappable key rows:

  • Prefix a line with ! to run a shell command yourself (5 minute timeout). Use !! to hide the command and its output from the agent.
  • Ctrl+V pastes an image from the clipboard into the prompt when the model supports vision. You can also paste image file paths.
  • Text pastes with at least 3 lines or more than 150 characters appear as compact tokens. Focus one and press Enter, or click it, to edit the complete pasted text.

Website privacy and analytics