Permissions and safety
Before tCode writes a file, edits one, or runs a shell command, it stops and shows you exactly what it is about to do, then waits for you to say yes.
tCode wants permission → write_file File: tests/test_checkout.py (612 characters) Allow? [y/N/always]:
- Answering a prompt, what y, N, and always each do
- Setting auto-approve ahead of time
- Warnings on unusual destinations
- How plan mode sits in front of this
- Declining is not ending the turn
- How auto-approve is scoped
- Why the prompt is deliberately plain
- Why your own judgment still matters
- Why you cannot pre-approve a whole turn
Answering a prompt
This prompt appears every time, for every non-read-only tool call, unless you have already told tCode to stop asking for that specific tool.
Setting auto-approve ahead of time
If you already know you want a given tool to run without asking, from the very start of a session rather than after saying always once, /config auto-approve <tool> on|off sets that ahead of time and persists it across future sessions too, not just the current one.
Warnings on unusual destinations
The permission prompt also does more than repeat the raw arguments back to you.
How plan mode sits in front of this
Plan mode (see Plan mode) sits in front of this entire system: while it is active, nothing that would normally trigger a permission prompt runs at all, it is recorded as part of the plan instead, and you review the whole plan at once before anything happens.
Declining is not ending the turn
Declining an action is not the same as ending the turn.
How auto-approve is scoped
Auto-approve is scoped per tool, not per project or per session in a way that would need re-declaring constantly: turning on auto-approve for bash applies the next time tCode starts, in any folder, on that same account.
Why the prompt is deliberately plain
The permission prompt is deliberately plain rather than summarized or abbreviated: for a file write, you see the actual target path and the size of what is being written; for a shell command, you see the literal command as it will run, not a paraphrase of what it is expected to do.
Why your own judgment still matters
None of this replaces your own judgment about a specific change.
Why you cannot pre-approve a whole turn
There is no way to pre-approve an entire turn in advance, only individual tool calls or a whole tool going forward with always or auto-approve.