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:
| Part | What it shows |
|---|---|
| Welcome header | The version, the active model and its context size (for example Syntic Code (256K context)), the folder you are in, and your plan (Plan: …). |
| Transcript | Your 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 line | While the agent works: a spinner, a verb, the elapsed time and a reminder that Esc interrupts, for example ✽ Collating… (3s · esc to interrupt). |
| Prompt box | Where 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 withShift+Enter,Alt+Enter, orCtrl+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(orCtrl+XCtrl+S) hands queued messages over right away, and↑pulls a queued message back to edit it. - Recall earlier prompts with
↑, or search them withCtrl+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, elsevi).
The first character changes the mode
| Start with | What 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 else | A message to the agent. |
Pointing at files and more with @
Type @ and a menu suggests matches as you type:
| Mention | Attaches |
|---|---|
@src/api/client.ts | That file’s contents, sent along with your message. |
@src/api/ | A folder (the menu lets you keep drilling down). |
@agent-reviewer | Hands the request to one of your custom agents. |
@docs:file:///guide.md | A 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+Vpastes 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+Oshows 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
| Want | Do |
|---|---|
| The whole conversation in a scrollable view | Ctrl+O. Inside it, / searches, { and } jump between your prompts, v opens it in your editor. |
| The agent’s task checklist | Ctrl+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 with | Lasts |
|---|---|
/tui fullscreen or /tui inline | Saved; applies from the next start |
syntic --fullscreen / syntic --inline | This run |
SYNTIC_RENDERER=fullscreen | Every run with that variable |
"renderer": "fullscreen" in settings | Every 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+Otranscript 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+Otranscript 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-reader | This run |
"screenReader": true in settings | Every session |
SYNTIC_SCREEN_READER=1 | Every run with that variable |
Other options that help:
prefersReducedMotionin settings: calmer spinner, no animated effects.--no-color(orNO_COLOR=1): no color at all./themeincludeshigh-contrastand color-blind friendlydark-daltonizedandlight-daltonizedthemes.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.