Folder trust

A project folder can carry its own settings, hooks, MCP servers, agents and skills, and some of those run code. So before Syntic Code uses anything a folder brings with it, it asks you once whether you trust that folder.

The question at start

When you start syntic interactively in a folder you have not trusted yet, the question comes before the session opens:

──────────────────────────────────────────────
Accessing workspace:

/Users/you/code/my-app

Before Syntic starts: is this a project you made, or one that comes
from someone you trust? If you are not sure, choose No and look through
the folder first.

If you trust it, Syntic can read, change and run the files in this folder.

❯ 1. No, exit
  2. Yes, I trust this folder

Enter confirm · Esc cancel
  • No, exit is selected to begin with. Pressing Enter on it, Esc, Ctrl+C or Ctrl+D all leave without starting a session.
  • Yes, I trust this folder starts the session and remembers the answer, so the same folder never asks again. Answers are kept in ~/.syntic/trusted_folders.
  • Move with the arrow keys, Tab, j/k, or jump with 1/2 (or n/y), then press Enter.

If your terminal cannot switch to raw keyboard input, the same question is asked as a plain line you answer by typing.

Your home folder always asks

Trusting your home folder would quietly trust every project under it, so Syntic Code never stores it. Starting in ~ asks every time, and a “yes” there covers that one session only. An older entry for the home folder in trusted_folders is ignored.

Trusted folders start in auto-edit

Once you trust a folder, the point is to get work done there. An interactive session in a trusted folder therefore starts in auto-edit mode: file edits inside your working folders go through without a prompt, while shell commands, edits to sensitive files and changes outside the folder still ask. See Permission modes.

This only applies when you have not picked a starting mode yourself. Any of these wins over it:

Chosen withExample
A flagsyntic --permission-mode default
A settings file"permissionMode": "plan" in user, project, local or policy settings
The environmentSYNTIC_PERMISSION_MODE=default
A --settings overlaysyntic --settings '{"permissionMode": "default"}'

First-run setup saves "permissionMode": "auto" in your user settings, so a fresh install starts in auto mode. Remove that line (or set default) to get the trusted-folder behavior described here.

What stays off in an untrusted folder

Until you trust a folder:

  • project and local settings files are not read (including their rules and env);
  • project hooks do not run;
  • project MCP servers are not started;
  • project agents, skills and commands are not loaded;
  • git integration is off.

Scripts and -p

A non-interactive run (syntic -p) never shows the question. In an untrusted folder it runs in a restricted state and says so in its output; a trusted folder behaves as usual. The starting mode of a -p run is not changed by trust.

Moving to another folder

/cd <folder> asks the same question, in the same words, for each untrusted folder it moves into. To trust a folder ahead of time, start syntic there once and answer yes. To forget a folder, remove its line from ~/.syntic/trusted_folders or run syntic project purge <path>.

Trust is about what the folder brings with it. It does not turn off the permission checks: deny rules, the dangerous-command checks and file safety all still apply in a trusted folder.