Interactive mode
Everything you can press and type in an interactive syntic session, in one place. For a guided tour of the screen, read The terminal interface. To change any key below, see Keyboard shortcuts.
Press ? on an empty prompt, or run /help, to see the keys in force on your machine. The list is built from your live key table, so it reflects any rebinding.
On macOS, Alt shortcuts need your terminal to send Option as Meta. Run /terminal-setup if Shift+Enter or Alt keys do nothing.
Keys that work anywhere
| Key | Does |
|---|---|
Ctrl+C | Interrupt the agent, close a view, or clear the prompt. Press twice on an empty prompt to quit. |
Ctrl+D | Press twice on an empty prompt to quit. |
Ctrl+Q | Quit. |
Esc | While the agent works: interrupt it. Your unsent text comes back to the prompt. |
Esc Esc | On an empty prompt: open rewind. |
Shift+Tab | Cycle the permission mode. |
Ctrl+O | Open the full transcript. |
Ctrl+T | Show or hide the to-do list. |
Ctrl+R | Search earlier prompts. |
Ctrl+L | Redraw the screen. |
Ctrl+B | Send the running shell command, subagent or whole turn to the background. |
Ctrl+_ | Undo the last edit in the prompt. |
Alt+P | Choose a model. |
Alt+O | Fast mode on or off. |
Alt+T | Reasoning on or off for this session. |
PageUp / PageDown (or with Shift) | Scroll the transcript a page. |
Shift+↑ / Shift+↓ | Scroll one line. |
Ctrl+Home / Ctrl+End | Jump to the top, or back to the latest output. |
Writing a prompt
| Key | Does |
|---|---|
Enter | Send. |
Shift+Enter, Alt+Enter, Ctrl+J | New line. Ctrl+J works in every terminal. |
Ctrl+Enter, or Ctrl+X then Ctrl+S | Send now, handing queued messages to the agent without waiting for its current step. |
↑ / ↓ | Step through earlier prompts. While the agent works, ↑ pulls a queued message back to edit. |
→ | Accept the grey suggestion. |
Tab | Complete a file path or command. |
/ at the start | Open the command menu. |
Ctrl+V | Paste an image from the clipboard. |
Ctrl+G, or Ctrl+X then Ctrl+E | Edit the prompt in your editor ($VISUAL, then $EDITOR, else vi). |
Ctrl+S | Stash the draft. Press again on an empty prompt to bring it back. |
Ctrl+X then Ctrl+K | Stop every background agent. |
Editing keys
| Key | Does |
|---|---|
Ctrl+A / Ctrl+E | Start / end of the line. |
Alt+B or Ctrl+← | Back one word. |
Alt+F or Ctrl+→ | Forward one word. |
Ctrl+W or Alt+Backspace | Delete the previous word. |
Alt+D or Ctrl+Delete | Delete the next word. |
Ctrl+U | Delete to the start of the line. |
Ctrl+K | Delete to the end of the line. |
Ctrl+Y | Paste the last deleted text. |
Alt+Y | After Ctrl+Y, cycle through earlier deleted text. |
Input modes
The first character of the prompt decides what happens with it.
| Start with | Mode | What happens |
|---|---|---|
/ | Command | Runs a slash command, a skill, or an MCP prompt. |
! | Shell | Runs the rest as a shell command, without asking, and adds the output to the conversation. See Shell mode. |
# | Memory | Saves the rest as a note in your memory file. See Memory. |
| anything else | Message | Sent to the agent. |
In shell mode, ↑ walks only through earlier ! commands, and the grey suggestion comes from your shell’s own history once you have typed two characters.
Mentions with @
Type @ anywhere to attach something. A menu suggests matches as you type, and Tab fills in the part all matches share.
| Mention | Attaches |
|---|---|
@path/to/file | The file’s contents. |
@path/to/folder/ | A folder listing. |
@agent-<name> | Hands the request to that custom agent. |
@server:uri | A resource from an MCP server. |
Approval dialogs
When a tool call needs your OK, the dialog takes the keyboard.
| Key | Does |
|---|---|
↑ / ↓ or k / j | Move between choices. |
Enter | Take the highlighted choice. |
1, 2, … | Pick a choice by its number. |
t | Refuse and type what the agent should do instead. |
Esc | Refuse. |
No single letter approves by default, so a stray key meant for the prompt cannot approve a call. You can bind letters in keybindings.json if you want them.
Plan review
When the agent presents a plan in plan mode: Enter approves it, Esc sends it back, and ↑ / ↓ scroll through it.
Lists and pickers
In /model, /resume, /theme and similar lists: ↑ / ↓ or Ctrl+P / Ctrl+N move, Enter or Tab picks, Esc closes.
Vim mode
Turn vim keys on for the prompt with /vim, the vimMode setting, or SYNTIC_VIM_MODE=1. Esc switches to normal mode, and the keys below take you back to insert mode. With vim keys on, ? types a question mark; use /help for the shortcut list.
| Group | Keys |
|---|---|
| Enter insert mode | i a I A o O |
| Move | h j k l, w b e, W B E, 0 ^ $, gg G |
| Find on the line | f F t T, then ; and , to repeat |
| Operators | d c y, doubled for whole lines (dd, cc, yy), and with a motion or text object |
| Text objects | iw aw, iW aW, quotes i" i' i`, brackets i( i[ i{ i< (and a… forms), ip |
| Edit | x, r, ~, J, D, C, Y, p P, > < |
| Undo and repeat | u, . |
| Visual mode | v, then a motion and an operator |
| Counts | A number before a motion or command, such as 3w or 2dd |
Prompt history
Every prompt you send is added to ~/.syntic/history.jsonl. The file is shared by all projects and sessions, so ↑ and Ctrl+R reach prompts from earlier sessions too.
↑/↓walk through history.↑on a!line only shows shell commands.Ctrl+Ropens a search. Type to filter,Entertakes the match.- Repeating the same prompt twice in a row is stored once.
Turn history off with SYNTIC_SKIP_PROMPT_HISTORY=1. --no-session-persistence and SYNTIC_SKIP_SESSION_PERSISTENCE also stop it.
Working while the agent works
You do not have to wait for a reply to finish.
- Queue a message. Type and press
Enter. It reaches the agent after its current step. Typing “stop” or “wait” halts it at once. - Send it now.
Ctrl+Enter(orCtrl+XCtrl+S) hands queued messages over right away. - Background something.
Ctrl+Bmoves the running shell command, subagent or turn to the background so you can keep going.
Background tasks
Long shell commands, subagents and background sessions keep running while you chat.
| To | Do |
|---|---|
| See what is running | /tasks, or press ← on an empty prompt to open the agents view |
| Watch one | Pick it in the agents view to read its output or attach |
| Stop every background agent | Ctrl+X then Ctrl+K |
| Hand a task to a new background session | /background <task> |
The agent reads background output itself with the ShellOutput tool and stops commands with ShellKill (Tools). Set SYNTIC_DISABLE_BACKGROUND_TASKS=1 to turn background commands off; Ctrl+B is then ignored.
Transcript view
Ctrl+O opens the whole conversation in a scrollable view with every tool result in full.
| Key | Does |
|---|---|
/ | Search. |
{ / } | Jump to your previous / next prompt. |
v | Open the transcript in your editor. |
Esc or Ctrl+O | Close. |
Mouse
In both the inline and full-screen view, click and drag selects and copies text. In the inline view the wheel opens the transcript view. SYNTIC_DISABLE_MOUSE=1 leaves the mouse to your terminal. /scroll-speed changes how far one wheel notch scrolls.
Leaving
/exit, Ctrl+Q, or Ctrl+C / Ctrl+D twice on an empty prompt. Syntic Code prints the command that resumes the session. See Sessions.