Autonomy and approvals
Decide what waits for you: every tool call, only changes, or nothing.
Your autonomy level decides which of the Writer's actions wait for you. It never changes how the council works: at every level, the council reviews and votes on every stage.
| Level (as named in the app) | You approve | Before the next stage |
|---|---|---|
| L1 (default): Ask before every tool call | Every tool call, including reading files. | You approve each finished stage with ✓ Approve, ✎ Guide or ✕ Reject, and confirm it on the freeze card. Rejecting, or not answering for a long time, ends the run. |
| L2: Ask before destructive calls | Changes to files and commands. Reading runs without asking. | You confirm each stage on the freeze card. |
| L3: Full auto | Nothing. | Nothing: the council’s YES confirms the stage and the run moves on. |
These are the names in the autonomy picker next to Send. At L2 the app asks before anything that changes your project, meaning file writes, edits and commands, so it asks about more than deletions; reading never waits.
The approval dialog
Allow once runs this one call. Always allow "<tool>" runs it and stops asking about that tool. Reject refuses the call. For a command, the dialog can also offer to always allow that exact command.
The freeze card
Between stages, the freeze card shows the finished stage's result and waits for you. Comment before the freeze takes you to the composer, and what you type goes to the council as guidance. Suggest changes opens the result as editable text, and Send to council passes your edit on as guidance; the council still seals the stage itself. Confirm freeze locks the result and lets the next stage start.
At every level
- The council reviews and votes on every stage.
- Destructive operations, such as wiping files or your repository, are blocked. The council is told and looks for a safe way to reach the same goal.
- You can steer the council from the composer. Your guidance reaches it when the next stage starts; the stage in progress is not interrupted.
Changing your level
Use the autonomy pill next to Send, the command SAMI: Set Consensus Autonomy Level, or the setting sami.autonomyLevel. A new level applies from the next run and stays until you change it.
Taking back an ‘Always allow’
Tools you always allowed are listed in sami.toolAutoApprove, and commands in sami.tools.commandAllowlist, which is only used at L2 and L3. Neither list can unblock a destructive operation. Remove an entry, or clear the list, to be asked again.