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
| Key | What it does |
|---|---|
Enter | Send the message. Ctrl+J inserts a newline instead. |
Ctrl+J | New line in the input — works in every terminal, no setup. |
\ then Enter | Continue the draft on the next line. |
Shift+Enter | New line (terminals that report it; run /terminal-setup once if it sends instead). |
Option+Enter | New 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. |
!command | Run a shell command yourself — !git status; its output joins the conversation. Ctrl+B moves it to the background while it runs. |
# text | A line starting with # is saved as a project memory fact — no model turn. #global text saves it everywhere (same as /memory add). |
Esc | Stop the current turn; at an idle prompt press twice to clear the input. |
Esc Esc | On an empty prompt: pick a checkpoint to rewind to (same as /rewind). |
Shift+Tab | Cycle the agent mode: ask → edit → auto → plan (while no turn is running). |
Ctrl+C | Stop the current turn, or press twice to exit. With a draft typed it clears the line first — ↑ brings the draft back. |
Ctrl+D | Delete 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 / PgDn | In /fullscreen: move a screenful through the transcript (Ctrl+Home / Ctrl+End jump to the ends, Esc returns to the newest line). |
Ctrl+V | Queue 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:
| Default | Action |
|---|---|
Ctrl+K | Command palette, on an empty input: search every action and command. Enter runs it; Tab puts the command in the box. |
Ctrl+R | Search 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+T | Background tasks: sub-agents and !commands still running, with elapsed time. |
Ctrl+B | While a !command runs: move it to the background and keep typing (/bashes lists and stops them). |
Ctrl+G | Edit the draft in $VISUAL / $EDITOR — on an empty prompt, open the file the agent just changed. |
Ctrl+O | Expand the last folded tool output (works while it is still running; /expand [n] picks an older one). |
Ctrl+F | Hand 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+A | The sub-agent tree: who spawned whom, who runs in parallel (/agents graph for the shared-task DAG). |
Ctrl+L | Redraw the screen (in fullscreen it puts an empty frame back, not the scrollback). |
Alt+M / Alt+T | Pick 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:
@filementions attach files and folders to the message; excluded paths (from/exclude) do not appear in the list.!commandruns in your shell and its output joins the conversation; the agent can see it without you copying anything.# factrecords a durable memory note in one line —#global factfor every project;/memoryviews, filters and clears./commandstarts a slash command.- Images and PDFs —
Ctrl+Vqueues a clipboard image;/image <filepath> [caption]attaches a file. - Vim editing —
/vimtoggles vim-style editing in the input box (also"editorMode": "vim"in settings). See Vim mode.
When things go sideways
- A stray
Ctrl+Cwith a draft typed only clears the line — the hint readsDraft 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-readeror theaxScreenReadersetting. 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(ornex --fullscreen).