Reference·The shellIndex

The shell

Keys, composer prefixes, header, footer and turn bar of the terminal UI.

.mdllms.txt

The shell is the terminal UI. It attaches to the gateway, the local server of a running Nodecode.

Turn

A turn is one prompt and the work the model does to answer it. One turn runs per session at a time.

ActionResult
Enter, no turn runningStarts a turn.
Enter, turn runningSteers. The running turn ends at its next round boundary. Your message runs next.
Tab, turn runningQueues the prompt behind the running turn.
Up, a prompt is queuedTakes the newest queued prompt back into the composer.
Enter on an empty composer, after Up took a prompt backDrops that prompt.
Esc, turn runningInterrupts the turn.
Esc, the turn produced nothingThe prompt returns to the composer. Applies to a turn this shell started.
Ctrl+CClears the composer. Empty composer: interrupts the turn. No turn: quits.
Left, empty composerLeaves the session running. Opens /sessions on a fresh session.

Global keys

KeyAction
EnterSubmit.
TabQueue the prompt while a turn runs. Idle: accept the highlighted suggestion.
Shift+Enter, Alt+Enter, Ctrl+JInsert a newline.
Up, DownPrevious or next prompt. In a dropdown: previous or next suggestion.
Ctrl+NNext suggestion.
Ctrl+PEmpty composer: insert /. Dropdown open: previous suggestion.
Ctrl+ROpen or close the prompt history picker.
Ctrl+SOpen or close the sessions picker.
Ctrl+OSwitch tool detail between collapsed and expanded.
Ctrl+FGive an open dialog the full window height.
PgUp, PgDnScroll the transcript.
Home, EndEmpty composer: jump to the transcript top or bottom.
?Empty composer: open keyboard help.
Ctrl+V, Ctrl+Alt+VPaste an image from the clipboard. In a dialog: paste clipboard text.
Ctrl+Shift+CCopy the selection.
EscInterrupt the turn. Idle: close the newest toast.
Esc, Esc within 0.5 sIdle: open /tree.
Ctrl+CClear the composer, then interrupt the turn, then quit.
Ctrl+QQuit.
Ctrl+DEmpty composer: quit. With text: delete the character at the cursor.

Composer editing

KeyAction
Ctrl+Left, Alt+Left, Alt+BBack one word.
Ctrl+Right, Alt+Right, Alt+FForward one word.
Ctrl+A, HomeLine start.
Ctrl+E, EndLine end.
Ctrl+Home, Ctrl+EndStart or end of the text.
Ctrl+B, Ctrl+FBack or forward one character.
Up, DownOne visual row up or down.
Ctrl+W, Ctrl+Backspace, Alt+BackspaceDelete the previous word.
Alt+D, Ctrl+Delete, Alt+DeleteDelete the next word.
Ctrl+D, DeleteDelete the character at the cursor.
Ctrl+KDelete to line end.
Ctrl+UDelete to line start.
Ctrl+TSwap two characters.
Alt+C, Alt+L, Alt+UCapitalize, lowercase or uppercase a word.
PasteShown as
Text over 10 lines or 1000 characters[Paste #N]. The full text is sent.
Image[Image #N]

Dialog keys

KeyAction
Up, Down, Ctrl+P, Ctrl+NMove the selection.
PgUp, PgDn, Home, EndPage the list or jump to an end.
EnterSelect.
EscClear the search. Empty search: close.
TypingFilter the list.
Ctrl+UClear the search.
Ctrl+W, Ctrl+BackspaceDelete a word of the search.
SpaceToggle a mark. In /cells: turn the cell on or off.
Right, iShow detail. i works in lists without a search box.
Left, RightFold or unfold rows in /sessions and /tree.
Delete, Ctrl+XInterrupt an exec in /execs.
F2Rename the highlighted session in /sessions.
Tab, Shift+TabNext or previous tab, for example in /usage.
Ctrl+FFull height.
Ctrl+VPaste clipboard text into the field.

Mouse

GestureAction
WheelScroll.
Drag the scrollbarScroll.
Click a tool cardExpand it.
Click a linkOpen it.
Click the exec bandOpen the exec view. Its stop control interrupts the exec.
Drag over textSelect. Release copies.
Click the × on a toastClose it.
Click a dialog rowConfirm it.

Composer prefixes

PrefixOpens
/The command dropdown. See Slash commands.
@Workspace file completion. Hidden files and node_modules are skipped.
$ at the start of a wordThe /skills picker. Needs the skills cell.
SideShows
LeftThe session title, then · session-id. Blank on the home screen and in setup.
RightN.N%/WINDOW: context use over the model's window. ctx N when the window is unknown.
Right↑ input (cache N%): input tokens of the session.
Right↓ output (reasoning N): output tokens of the session.
Right$cost, when the cost is known.

Windows under 12 rows have no footer.

SideShows
Leftprovider model (effort) · ? help · ← sessions
Left, sessions running← N running replaces ← sessions.
Left, target unknown yetsetting up…
Left, no model configuredrun /setup to add a model
Rightprofile · folder · Gateway 127.0.0.1:PORT • state

State is connected, connecting, reconnecting or failed. A narrow window drops the folder first, then the state.

Turn bar

The bar shows while a turn runs.

PartMeaning
SpinnerThe turn is running.
Model labelProvider, model and effort of this turn.
ClockElapsed time.
VerbThe current activity, waiting, or the retry status.
TallyThe turn's tally.
Token meterTokens of this turn.
ctx N%Context use. Shown from 75%.
Hintesc interrupts · type to steer · ctrl+o details

A failed or interrupted turn leaves a resting bar with elapsed time and outcome.

keybinds.json

Override keys in ~/.nodecode/keybinds.json. The file is one JSON object: action name to chord.

Example: {"toggle_tool_expand": "ctrl+t", "help": "none"}.

RuleDetail
ChordModifiers ctrl (or mod), alt, shift and one key, joined by +.
Key namesenter, tab, esc, backspace, delete, up, down, left, right, space, pgup, pgdn, home, end, f1 to f12, or one character.
OverrideOne chord replaces every default chord of that action.
"none"Unbinds the action.
Malformed chordThe defaults stay.
Unreadable fileIgnored.
Action nameDefault
quitctrl+q, ctrl+d
submitenter
submit_turn_queuetab
insert_newlineshift+enter, alt+enter, ctrl+j
accept_suggestiontab
history_previousup
history_nextdown
history_dialogctrl+r
sessions_dialogctrl+s
renamef2
toggle_tool_expandctrl+o
toggle_dialog_fullscreenctrl+f
page_uppgup
page_downpgdn
scroll_homehome
scroll_endend
help?
open_command_palettectrl+p
paste_imagectrl+v, ctrl+alt+v
copy_selectionctrl+shift+c

The composer editing keys and Esc are fixed.

Esc

    Loading the index…

    ↑↓ moveEnter openEsc close