Environment Variables
Syntic Code reads a set of SYNTIC_* environment variables for authentication, endpoint configuration, and behavior tuning. Environment variables are the preferred way to supply secrets and to configure the agent in non-interactive contexts such as CI, where there is no settings file or interactive login. Values set in the environment override the corresponding entries in .syntic/settings.json.
Authentication and endpoint
| Variable | Description |
|---|---|
SYNTIC_API_KEY | API key used to authenticate with Amara on api.syntic.ai. Required for headless use. |
SYNTIC_BASE_URL | Override the API endpoint. Defaults to https://api.syntic.ai. |
SYNTIC_MODEL | Default Amara model variant when --model is not passed. |
SYNTIC_ORG_ID | Organization identifier for billing and access scoping. |
Behavior and paths
| Variable | Description |
|---|---|
SYNTIC_CONFIG_DIR | Directory for global config. Defaults to ~/.syntic. |
SYNTIC_PERMISSION_MODE | Default approval mode: ask, auto, or plan. |
SYNTIC_CHANNEL | Release channel: stable, preview, or dev. |
SYNTIC_NO_HOOKS | When set to 1, disables all lifecycle hooks. |
SYNTIC_TELEMETRY | Set to 0 to opt out of anonymous usage telemetry. |
SYNTIC_LOG_LEVEL | Logging verbosity: error, warn, info, or debug. |
SYNTIC_MAX_TOKENS | Cap on output tokens per response. |
Usage
Export variables in your shell profile for everyday use, or inline them for a single run. In CI, store SYNTIC_API_KEY as a secret and reference it from the job environment:
# Local, everyday setup
export SYNTIC_API_KEY="sk-..."
export SYNTIC_MODEL="amara-pro"
# One-off run with a debug log
SYNTIC_LOG_LEVEL=debug syntic -p "why did the build fail?"
# CI step
SYNTIC_API_KEY="$CI_SYNTIC_KEY" \
SYNTIC_PERMISSION_MODE=auto \
syntic --print "review the diff" --output-format jsonNever commit a real SYNTIC_API_KEY to source control; supply it through your platform’s secret store instead.