ReferenceInteractive mode

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

KeyDoes
Ctrl+CInterrupt the agent, close a view, or clear the prompt. Press twice on an empty prompt to quit.
Ctrl+DPress twice on an empty prompt to quit.
Ctrl+QQuit.
EscWhile the agent works: interrupt it. Your unsent text comes back to the prompt.
Esc EscOn an empty prompt: open rewind.
Shift+TabCycle the permission mode.
Ctrl+OOpen the full transcript.
Ctrl+TShow or hide the to-do list.
Ctrl+RSearch earlier prompts.
Ctrl+LRedraw the screen.
Ctrl+BSend the running shell command, subagent or whole turn to the background.
Ctrl+_Undo the last edit in the prompt.
Alt+PChoose a model.
Alt+OFast mode on or off.
Alt+TReasoning on or off for this session.
PageUp / PageDown (or with Shift)Scroll the transcript a page.
Shift+↑ / Shift+↓Scroll one line.
Ctrl+Home / Ctrl+EndJump to the top, or back to the latest output.

Writing a prompt

KeyDoes
EnterSend.
Shift+Enter, Alt+Enter, Ctrl+JNew line. Ctrl+J works in every terminal.
Ctrl+Enter, or Ctrl+X then Ctrl+SSend 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.
TabComplete a file path or command.
/ at the startOpen the command menu.
Ctrl+VPaste an image from the clipboard.
Ctrl+G, or Ctrl+X then Ctrl+EEdit the prompt in your editor ($VISUAL, then $EDITOR, else vi).
Ctrl+SStash the draft. Press again on an empty prompt to bring it back.
Ctrl+X then Ctrl+KStop every background agent.

Editing keys

KeyDoes
Ctrl+A / Ctrl+EStart / end of the line.
Alt+B or Ctrl+←Back one word.
Alt+F or Ctrl+→Forward one word.
Ctrl+W or Alt+BackspaceDelete the previous word.
Alt+D or Ctrl+DeleteDelete the next word.
Ctrl+UDelete to the start of the line.
Ctrl+KDelete to the end of the line.
Ctrl+YPaste the last deleted text.
Alt+YAfter Ctrl+Y, cycle through earlier deleted text.

Input modes

The first character of the prompt decides what happens with it.

Start withModeWhat happens
/CommandRuns a slash command, a skill, or an MCP prompt.
!ShellRuns the rest as a shell command, without asking, and adds the output to the conversation. See Shell mode.
#MemorySaves the rest as a note in your memory file. See Memory.
anything elseMessageSent 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.

MentionAttaches
@path/to/fileThe file’s contents.
@path/to/folder/A folder listing.
@agent-<name>Hands the request to that custom agent.
@server:uriA resource from an MCP server.

Approval dialogs

When a tool call needs your OK, the dialog takes the keyboard.

KeyDoes
↑ / ↓ or k / jMove between choices.
EnterTake the highlighted choice.
1, 2, …Pick a choice by its number.
tRefuse and type what the agent should do instead.
EscRefuse.

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.

GroupKeys
Enter insert modei a I A o O
Moveh j k l, w b e, W B E, 0 ^ $, gg G
Find on the linef F t T, then ; and , to repeat
Operatorsd c y, doubled for whole lines (dd, cc, yy), and with a motion or text object
Text objectsiw aw, iW aW, quotes i" i' i`, brackets i( i[ i{ i< (and a… forms), ip
Editx, r, ~, J, D, C, Y, p P, > <
Undo and repeatu, .
Visual modev, then a motion and an operator
CountsA 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+R opens a search. Type to filter, Enter takes 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 (or Ctrl+X Ctrl+S) hands queued messages over right away.
  • Background something. Ctrl+B moves 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.

ToDo
See what is running/tasks, or press ← on an empty prompt to open the agents view
Watch onePick it in the agents view to read its output or attach
Stop every background agentCtrl+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.

KeyDoes
/Search.
{ / }Jump to your previous / next prompt.
vOpen the transcript in your editor.
Esc or Ctrl+OClose.

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.