Getting startedUse Syntic CodeThe terminal interface

The terminal interface

Run syntic in a project folder and the session opens right in your terminal. This page walks through what you see and the handful of habits that make it fast to use.

What is on screen

From top to bottom:

PartWhat it shows
Welcome headerThe version, the active model and its context size (for example Syntic Code (256K context)), the folder you are in, and your plan (Plan: …).
TranscriptYour messages, the agent’s replies, and one row per tool call: file reads, searches, edits (with a red/green diff), shell commands and their output.
Working lineWhile the agent works: a spinner, a verb, the elapsed time and a reminder that Esc interrupts, for example ✽ Collating… (3s · esc to interrupt).
Prompt boxWhere you type. When empty it shows a grey suggestion; press → to take it.
Footer? for shortcuts, the current permission mode when it is not the default (for example ⏸ plan mode), and your status line if you set one.

Settings, pickers and panels such as /config, /model and /theme take over the spot where you type, and your prompt returns once you close them.

Long tool output is cut to the first few lines. Press Ctrl+O for the full transcript, or turn on verbose in /config to show results in full.

Talking to the agent

  • Send with Enter. Add a line break with Shift+Enter, Alt+Enter, or Ctrl+J (works in every terminal).
  • Interrupt with Esc. Your unsent words return to the input, ready to tweak and resend.
  • Steer mid-task. Type while the agent is busy and press Enter. Your message reaches it after its current step, and it answers you before carrying on. Type “stop” or “wait” and it halts at once. Ctrl+Enter (or Ctrl+X Ctrl+S) hands queued messages over right away, and ↑ pulls a queued message back to edit it.
  • Recall earlier prompts with ↑, or search them with Ctrl+R. History is kept across sessions.
  • Stash a half-written prompt with Ctrl+S; press it again on an empty prompt to bring it back.
  • Edit long prompts in your own editor with Ctrl+G (uses $VISUAL, then $EDITOR, else vi).

The first character changes the mode

Start withWhat happens
/Run a slash command. A menu filters as you type; Tab completes. See Slash commands.
!Run a shell command yourself. See Shell mode.
#Save the rest of the line as a note in your SYNTIC.md memory. See Memory.
anything elseA message to the agent.

Pointing at files and more with @

Type @ and a menu suggests matches as you type:

MentionAttaches
@src/api/client.tsThat file’s contents, sent along with your message.
@src/api/A folder (the menu lets you keep drilling down).
@agent-reviewerHands the request to one of your custom agents.
@docs:file:///guide.mdA resource that an MCP server offers.

Git-ignored files are left out of suggestions (turn respectGitignore off to include them). Tab fills in the part all matches share.

Images and big pastes

  • Ctrl+V pastes an image from your clipboard (screenshots of errors, mockups, diagrams).
  • A large paste shrinks to a compact chip, which keeps the rest of your message readable. The full text is still sent.

Watching subagents

When the agent hands work to a subagent, you see it in two places:

  • In the conversation, under the Agent(...) row that started it: which kind of agent it is, what it is doing right now, how long it has run and its tokens, updated live. When it finishes, the row folds to one line (Done · N tool uses · time · tokens) plus the first line of its answer. Ctrl+O shows its steps.
  • In the agent panel under the footer while subagents run: your session first, then one row per running agent with its task, current activity, time and tokens. The footer shows ← N agents; press ← on an empty prompt to open the full agents view and attach to one or read its transcript.

Seeing more, or less

WantDo
The whole conversation in a scrollable viewCtrl+O. Inside it, / searches, { and } jump between your prompts, v opens it in your editor.
The agent’s task checklistCtrl+T toggles the to-do list. /todos prints it.
The agent’s reasoning/thinking switches between a one-line preview and the full text. Alt+T turns reasoning on or off for the session.
Only prompts, short tool lines and answers/focus
A different color for this session’s prompt bar (helps when several sessions are open)/color red
Files the session read or changed/files
What changed, as a diff/diff
The last reply on your clipboard/copy (or /copy 2 for the one before)
The conversation as a file/export (Markdown, JSON or plain text)

Inline or full screen

Syntic Code draws inline by default: it uses your terminal’s normal screen, so finished output scrolls into your terminal’s own scrollback and stays there after you quit.

The full-screen view takes over the terminal (alternate screen) and pins the prompt at the bottom. It has mouse support: the wheel scrolls, click-and-drag selects and copies, double-click copies a word.

Switch withLasts
/tui fullscreen or /tui inlineSaved; applies from the next start
syntic --fullscreen / syntic --inlineThis run
SYNTIC_RENDERER=fullscreenEvery run with that variable
"renderer": "fullscreen" in settingsEvery session

The inline view reads the mouse too:

  • Click and drag selects text anywhere on the screen and copies it when you let go; “copied N chars to clipboard” appears over the prompt box. Selected text is shown dark on Syntic green, so it stays readable on any terminal theme.
  • Keep dragging past the top to select more than fits on screen: the Ctrl+O transcript opens and keeps scrolling while you hold the pointer at its top or bottom edge, and the selection grows with it. Everything you scrolled through is copied, not just what is visible when you let go.
  • The wheel opens the Ctrl+O transcript at its end, because the terminal does not scroll its own scrollback while Syntic Code is reading the mouse. Scroll up in the transcript to read back; scroll down to the end and it closes.

Prefer your terminal’s own behaviour? Start with SYNTIC_DISABLE_MOUSE=1. Your terminal’s selection and scrollback then work as usual in the inline view (no copy notice; Ctrl+O still opens the transcript), and the full-screen view has no mouse support. /scroll-speed changes how far one wheel notch scrolls.

Notifications

When a long turn finishes while you are looking elsewhere, Syntic Code sends a notification through your terminal (iTerm2, kitty, Ghostty and others, or a terminal bell). It also shows a busy indicator on the terminal tab while it works. Turn these off with notificationsEnabled and terminalProgressBarEnabled in /config, or pick a channel with SYNTIC_NOTIF_CHANNEL.

Accessibility

Screen reader mode replaces animated and decorative output with plain text: ASCII symbols, no motion, a visible cursor, numbered rows in lists, and short notes for changes that would otherwise only be drawn.

Turn on with
syntic --screen-readerThis run
"screenReader": true in settingsEvery session
SYNTIC_SCREEN_READER=1Every run with that variable

Other options that help:

  • prefersReducedMotion in settings: calmer spinner, no animated effects.
  • --no-color (or NO_COLOR=1): no color at all.
  • /theme includes high-contrast and color-blind friendly dark-daltonized and light-daltonized themes.
  • maxProseWidth: cap the line length of replies on a wide terminal.

Leaving

/exit, or Ctrl+D twice on an empty prompt, or Ctrl+C twice. Syntic Code prints the command that resumes this conversation. See Sessions & resume.

All keys are listed on Keyboard shortcuts, including vim mode and how to rebind keys.