Keybindings
All shortcuts are customizable in ~/.autoc/agent/keybindings.json. After editing, run /reload; use /hotkeys to list effective bindings.
Key format
modifier+key — modifiers: ctrl, shift, alt. Keys: letters, digits, escape, enter, tab, f1–f12, etc. Example: ctrl+shift+x.
Common defaults
| Action | Default |
|---|---|
| Submit | enter |
| New line | shift+enter |
| Abort | escape |
| Quit (empty editor) | ctrl+d |
| Model picker | ctrl+l |
| Model cycle | ctrl+p / shift+ctrl+p |
| Thinking level | shift+tab |
| Toggle tool output | ctrl+o |
| Follow-up message | alt+enter |
| External editor | ctrl+g |
| Paste image (Windows) | alt+v |
All actions
Editor cursor movement
| Key id | Default | Description |
|---|---|---|
tui.editor.cursorUp | up | Move cursor up |
tui.editor.cursorDown | down | Move cursor down |
tui.editor.cursorLeft | left, ctrl+b | Move cursor left |
tui.editor.cursorRight | right, ctrl+f | Move cursor right |
tui.editor.cursorWordLeft | alt+left, ctrl+left, alt+b | Move word left |
tui.editor.cursorWordRight | alt+right, ctrl+right, alt+f | Move word right |
tui.editor.cursorLineStart | home, ctrl+a | Move to line start |
tui.editor.cursorLineEnd | end, ctrl+e | Move to line end |
tui.editor.jumpForward | ctrl+] | Jump forward to character |
tui.editor.jumpBackward | ctrl+alt+] | Jump backward to character |
tui.editor.pageUp | pageUp | Page up |
tui.editor.pageDown | pageDown | Page down |
Editor deletion
| Key id | Default | Description |
|---|---|---|
tui.editor.deleteCharBackward | backspace | Delete char backward |
tui.editor.deleteCharForward | delete, ctrl+d | Delete char forward |
tui.editor.deleteWordBackward | ctrl+w, alt+backspace | Delete word backward |
tui.editor.deleteWordForward | alt+d, alt+delete | Delete word forward |
tui.editor.deleteToLineStart | ctrl+u | Delete to line start |
tui.editor.deleteToLineEnd | ctrl+k | Delete to line end |
Input
| Key id | Default | Description |
|---|---|---|
tui.input.newLine | shift+enter | Insert newline |
tui.input.submit | enter | Submit input |
tui.input.tab | tab | Tab / autocomplete |
Kill ring
| Key id | Default | Description |
|---|---|---|
tui.editor.yank | ctrl+y | Paste last deleted text |
tui.editor.yankPop | alt+y | Cycle older kills after yank |
tui.editor.undo | ctrl+- | Undo last edit |
Clipboard and list selection
| Key id | Default | Description |
|---|---|---|
tui.input.copy | ctrl+c | Copy selection |
tui.select.up | up | Move selection up |
tui.select.down | down | Move selection down |
tui.select.pageUp | pageUp | List page up |
tui.select.pageDown | pageDown | List page down |
tui.select.confirm | enter | Confirm selection |
tui.select.cancel | escape, ctrl+c | Cancel selection |
Application
| Key id | Default | Description |
|---|---|---|
app.interrupt | escape | Cancel / abort |
app.clear | ctrl+c | Clear editor |
app.exit | ctrl+d | Quit (when editor empty) |
app.suspend | ctrl+z (no default on native Windows) | Suspend to background |
app.editor.external | ctrl+g | Open in external editor ($VISUAL / $EDITOR) |
app.clipboard.pasteImage | ctrl+v (Windows: alt+v) | Paste image from clipboard |
Sessions
| Key id | Default | Description |
|---|---|---|
app.session.new | (none) | New session (/new) |
app.session.tree | (none) | Open session tree (/tree) |
app.session.fork | (none) | Fork session (/fork) |
app.session.resume | (none) | Open resume picker (/resume) |
app.session.togglePath | ctrl+p | Toggle path display |
app.session.toggleSort | ctrl+s | Toggle sort order |
app.session.toggleNamedFilter | ctrl+n | Toggle named-only filter |
app.session.rename | ctrl+r | Rename session |
app.session.delete | ctrl+d | Delete session |
app.session.deleteNoninvasive | ctrl+backspace | Delete when query empty |
Model and thinking
| Key id | Default | Description |
|---|---|---|
app.model.select | ctrl+l | Open model picker |
app.model.cycleForward | ctrl+p | Next model |
app.model.cycleBackward | shift+ctrl+p | Previous model |
app.thinking.cycle | shift+tab | Cycle thinking level |
app.thinking.toggle | ctrl+t | Toggle thinking block |
Display and message queue
| Key id | Default | Description |
|---|---|---|
app.tools.expand | ctrl+o | Toggle tool output |
app.message.followUp | alt+enter | Queue follow-up message |
app.message.dequeue | alt+up | Restore queued message to editor |
Session tree navigation
| Key id | Default | Description |
|---|---|---|
app.tree.foldOrUp | ctrl+left, alt+left | Fold segment or jump to previous segment start |
app.tree.unfoldOrDown | ctrl+right, alt+right | Unfold segment or jump down |
app.tree.editLabel | shift+l | Edit node label |
app.tree.toggleLabelTimestamp | shift+t | Toggle label timestamps |
app.tree.filter.default | ctrl+d | Tree filter: default |
app.tree.filter.noTools | ctrl+t | Tree filter: hide tools |
app.tree.filter.userOnly | ctrl+u | Tree filter: user messages only |
app.tree.filter.labeledOnly | ctrl+l | Tree filter: labeled only |
app.tree.filter.all | ctrl+a | Tree filter: show all |
app.tree.filter.cycleForward | ctrl+o | Cycle filter forward |
app.tree.filter.cycleBackward | shift+ctrl+o | Cycle filter backward |
Scoped model selector
Used inside the /scoped-models picker.
| Key id | Default | Description |
|---|---|---|
app.models.save | ctrl+s | Save model selection to settings |
app.models.enableAll | ctrl+a | Enable all (or all matching search) |
app.models.clearAll | ctrl+x | Clear all (or all matching search) |
app.models.toggleProvider | ctrl+p | Toggle all models for current provider |
app.models.reorderUp | alt+up | Move selected model up in cycle order |
app.models.reorderDown | alt+down | Move selected model down in cycle order |
Customize
Create ~/.autoc/agent/keybindings.json:
json
{
"tui.editor.cursorUp": ["up", "ctrl+p"],
"tui.editor.deleteWordBackward": ["ctrl+w", "alt+backspace"]
}Legacy non-namespaced ids (e.g. cursorUp) migrate on startup. On native Windows, app.suspend has no default binding.
Emacs-style example
json
{
"tui.editor.cursorUp": ["up", "ctrl+p"],
"tui.editor.cursorDown": ["down", "ctrl+n"],
"tui.editor.cursorLeft": ["left", "ctrl+b"],
"tui.editor.cursorRight": ["right", "ctrl+f"]
}Vim-style example
json
{
"tui.editor.cursorUp": ["up", "alt+k"],
"tui.editor.cursorDown": ["down", "alt+j"],
"tui.editor.cursorLeft": ["left", "alt+h"],
"tui.editor.cursorRight": ["right", "alt+l"]
}