Install & sign-in problems

Install

syntic: command not found

The installer puts syntic in ~/.syntic/bin and does not edit your shell files. Add the folder to your PATH with the line the installer printed, for example:

echo 'export PATH="$HOME/.syntic/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc

On Windows, open a new terminal after installing; the installer adds the folder to your user PATH.

The installer stops

MessageMeaning and fix
”do not run the installer as root”Run it as your normal user. Nothing needs root. (SYNTIC_INSTALL_ALLOW_ROOT=1 overrides.)
A signature or checksum failureThe download did not match the signed release list. Nothing was installed. Try again; if it repeats, report it.
”no Syntic release key”Releases are not published yet for this build. Nothing was changed.
”unsupported operating system”Only macOS, Linux and Windows are supported.
Missing curl, openssl or shasumInstall them with your package manager and run the installer again.

If the installer keeps failing after these checks, contact Syntic support with the full message it printed.

Updates

SituationWhat to do
syntic update says to run brew upgrade synticYou installed with Homebrew; update with Homebrew.
It refuses because the binary is in /nix/store, /usr/bin or /binUpdate with the package manager that installed it.
A session will not start: “no longer supported” (exit code 4)Run syntic update. For one run, SYNTIC_SKIP_VERSION_GATE=1 starts anyway.
A new version misbehavessyntic update --rollback puts the previous version back.
update.json is not valid JSONUpdates stop with an error rather than guess. Fix or delete ~/.syntic/update.json.

”Syntic Code is already running here”

Each shell a session runs carries SYNTIC_CODE=1, and a second interactive session in it is refused so the two do not fight over the terminal. Open a new terminal, or use syntic -p for a one-off answer. To start anyway, unset the variable: env -u SYNTIC_CODE syntic.

Sign-in

The browser opens but the terminal keeps waiting

  • Finish the whole flow in the browser, including the approval step.
  • The browser must be able to reach your computer at the local address it returns to. Over SSH or a remote desktop it cannot: set SYNTIC_NO_BROWSER=1 and run syntic auth login again to use the paste flow.
  • /login copy copies the sign-in address so you can open it in another browser on the same machine.

Messages you may see

MessageMeaning and fix
”Not signed in. Run syntic login in a terminal to sign in (or set SYNTIC_API_KEY), then run this command again.”No credential was found. Sign in, or set a credential for CI (Sign in).
”Your session has expired. Run syntic login to reconnect billing.”Your sign-in was revoked or could not be renewed. Run syntic login.
”Your account is a free one. Please upgrade to use Syntic Code.”Syntic Code needs a paid plan. See Plans & models.
”Your plan isn’t active. Please update your billing to use Syntic Code.”Update your billing at app.syntic.ai, then try again.
A sign-in to the wrong organization is refusedYour administrator limits sign-ins to one organization (forceLoginOrgUUID). Sign in with your work account.

Check which credential is used

syntic auth status shows whether you are signed in and how. /doctor shows where the credential came from (SYNTIC_API_KEY, settings, saved sign-in or a helper) and when it expires. A stray SYNTIC_API_KEY in your shell wins over everything else; unset it if you meant to use your browser sign-in.

Start over

syntic auth logout
syntic auth login

Proxies and company networks

If requests fail on a company network, set SYNTIC_HTTPS_PROXY (and SYNTIC_NO_PROXY for exceptions). If your company inspects TLS, point SYNTIC_EXTRA_CA_CERTS at its certificate bundle. See Privacy & network.