Skip to content

Interactive mode ​

A nex session is a full-terminal interface: a prompt at the bottom, the transcript above it, menus that open in place. /help — or ? on an empty prompt — prints the key map inside the session; this page is the same map, plus the input conventions that are not keys.

Keyboard shortcuts ​

Everyday keys ​

KeyWhat it does
EnterSend the message. Ctrl+J inserts a newline instead.
Ctrl+JNew line in the input — works in every terminal, no setup.
\ then EnterContinue the draft on the next line.
Shift+EnterNew line (terminals that report it; run /terminal-setup once if it sends instead).
Option+EnterNew line on macOS (/terminal-setup enables it).
/Open the command menu: type to filter, ↑/↓ select, Tab complete, Enter run, Esc close.
@Mention a file or folder: pick from the list (Tab/Enter inserts) and it is attached to your message.
!commandRun a shell command yourself — !git status; its output joins the conversation. Ctrl+B moves it to the background while it runs.
# textA line starting with # is saved as a project memory fact — no model turn. #global text saves it everywhere (same as /memory add).
EscStop the current turn; at an idle prompt press twice to clear the input.
Esc EscOn an empty prompt: pick a checkpoint to rewind to (same as /rewind).
Shift+TabCycle the agent mode: ask → edit → auto → plan (while no turn is running).
Ctrl+CStop the current turn, or press twice to exit. With a draft typed it clears the line first — ↑ brings the draft back.
Ctrl+DDelete the character under the cursor; press twice on an empty line to exit.
↑ / ↓Recall previous messages (or move between lines of a multi-line draft).
PgUp / PgDnIn /fullscreen: move a screenful through the transcript (Ctrl+Home / Ctrl+End jump to the ends, Esc returns to the newest line).
Ctrl+VQueue an image from the clipboard — it rides along with the next message you send.
(paste)Multi-line paste goes into the input box; it does not send until you press Enter.

Line editing is readline-style: ←/→ and Home/End move the cursor, Ctrl+A / Ctrl+E jump to start / end, Alt+B / Alt+F (also Alt+←/→) move by word, Ctrl+W / Alt+⌫ delete the previous word, Ctrl+U / Ctrl+K delete to the start / end of the line and Ctrl+Y pastes that back, Ctrl+↑ / Ctrl+↓ (or Alt+↑/↓ — macOS keeps Ctrl+↑ for Mission Control) walk back and forward through your prompts.

Yours to rebind ​

These have defaults, but every one can be changed with /keybindings:

DefaultAction
Ctrl+KCommand palette, on an empty input: search every action and command. Enter runs it; Tab puts the command in the box.
Ctrl+RSearch your prompt history — every project's prompts by default (Ctrl+S while searching narrows to just this project); type to filter, the key again for older, Enter to use, Esc cancels.
Ctrl+TBackground tasks: sub-agents and !commands still running, with elapsed time.
Ctrl+BWhile a !command runs: move it to the background and keep typing (/bashes lists and stops them).
Ctrl+GEdit the draft in $VISUAL / $EDITOR — on an empty prompt, open the file the agent just changed.
Ctrl+OExpand the last folded tool output (works while it is still running; /expand [n] picks an older one).
Ctrl+FHand the last failing check back to the model — it fixes it and re-runs it (/failures shows the chain; /fix is the typed form).
Ctrl+Shift+AThe sub-agent tree: who spawned whom, who runs in parallel (/agents graph for the shared-task DAG).
Ctrl+LRedraw the screen (in fullscreen it puts an empty frame back, not the scrollback).
Alt+M / Alt+TPick the model / the thinking effort without typing a command.

Customizing ​

/keybindings prints two columns — Yours to change and Fixed — plus any binding errors. Rebind one with /keybindings <action> <key>, and reset with /keybindings reset. Fixed keys are the terminal contract (Enter, Esc, Tab, Ctrl+C, Ctrl+D, arrows…) and cannot be reassigned. Your bindings are stored in settings.json — see Configuration.

Input modes ​

Beyond plain text:

  • @file mentions attach files and folders to the message; excluded paths (from /exclude) do not appear in the list.
  • !command runs in your shell and its output joins the conversation; the agent can see it without you copying anything.
  • # fact records a durable memory note in one line — #global fact for every project; /memory views, filters and clears.
  • /command starts a slash command.
  • Images and PDFs — Ctrl+V queues a clipboard image; /image <filepath> [caption] attaches a file.
  • Vim editing — /vim toggles vim-style editing in the input box (also "editorMode": "vim" in settings). See Vim mode.

When things go sideways ​

  • A stray Ctrl+C with a draft typed only clears the line — the hint reads Draft cleared · ↑ restores it · Ctrl+C again to exit (see Files & images).
  • Screen-reader mode is a different rendering of the same session — flat labelled lines, numbered menus, no spinner repaints: nex --ax-screen-reader or the axScreenReader setting. Details.
  • Long turns and background jobs can bell or flash your terminal: /notify (auto, bell, osc, off).
  • Wheel scrolling in fullscreen: /mouse. Whole-screen session with re-wrapped transcript: /fullscreen (or nex --fullscreen).

Built by Maxrall, Inc.