CLI Reference
The syntic command is the single entry point to Syntic Code. Run it with no arguments to open an interactive session in the current directory, or pass a prompt and flags to control how it starts and behaves. This page lists every top-level flag; subcommands such as schedule, goal, and events are documented in the automation section.
Basic invocation
syntic # open an interactive session here
syntic "explain this repo" # start with an initial prompt
syntic --print "run tests" # headless: run once and exit
syntic --resume # pick a previous session to continueFlags
| Flag | Alias | Argument | Description |
|---|---|---|---|
--print | -p | — | Run one prompt non-interactively and exit. |
--output-format | text|json|stream-json | Output shape in print mode. Default text. | |
--model | -m | <name> | Select the Amara model variant for the session. |
--resume | -r | [id] | Resume a previous session, optionally by id. |
--continue | -c | — | Continue the most recent session in this directory. |
--session | <name> | Name the session for later resume and event push. | |
--cwd | <path> | Set the working directory for the session. | |
--add-dir | <path> | Grant the agent access to an additional directory. | |
--permission-mode | ask|auto|plan | How tool calls are approved. Default ask. | |
--allow-tool | <name> | Pre-approve a tool without prompting. | |
--deny-tool | <name> | Block a tool for the whole session. | |
--append-system-prompt | <text> | Add instructions to the system prompt. | |
--config | <path> | Use a specific settings file. | |
--channel | stable|preview|dev | Choose the release channel for this run. | |
--no-hooks | — | Disable all configured hooks for this run. | |
--verbose | -v | — | Print detailed diagnostic logging. |
--version | — | Print the installed version and exit. | |
--help | -h | — | Show usage and exit. |
Combining flags
Flags compose freely. A common CI invocation runs a scoped, headless review with structured output and no interactive approvals:
syntic --print "review the staged diff" \
--output-format json \
--permission-mode auto \
--deny-tool bashAuthentication is read from the environment rather than a flag; see environment variables for SYNTIC_API_KEY and related settings.