Approval Mode
Control what proto is allowed to do automatically versus what requires your explicit approval.
Modes
| Mode | File edits | Shell commands | Best for |
|---|---|---|---|
| Plan | ❌ Read-only | ❌ Not executed | Exploration, planning, safe review |
| Default | ✅ Approval required | ✅ Approval required | Most development work |
| Auto-Edit | ✅ Auto-approved | ✅ Approval required | Daily coding tasks |
| YOLO | ✅ Auto-approved | ✅ Auto-approved | CI/CD, trusted automation |
TIP
Press Shift+Tab (or Tab on Windows) during a session to cycle through modes. The current mode is shown in the status bar.
Switch modes
During a session
/approval-mode plan
/approval-mode default
/approval-mode auto-edit
/approval-mode yoloOr use Shift+Tab to cycle: Default → Auto-Edit → YOLO → Plan → Default.
Set a persistent default
// .proto/settings.json (project) or ~/.proto/settings.json (global)
{
"permissions": {
"defaultMode": "auto-edit"
}
}From the CLI
proto --approval-mode auto-edit -p "Refactor the auth module"
proto --yolo -p "Run tests and fix failures"Plan mode
Use for understanding a codebase before making changes, or when you want to discuss an approach without any risk of edits.
/approval-mode planWhat files would need to change if I added OAuth2 support?proto reads files, analyzes the codebase, and answers — but writes nothing.
Default mode
The standard mode. proto proposes each file edit and shell command individually; you approve or reject each one.
/approval-mode defaultAuto-Edit mode
File edits happen automatically; shell commands still require approval. Good for refactoring tasks where you trust the edits but want to review commands.
/approval-mode auto-editYOLO mode
Everything auto-approved. Use in CI pipelines or for trusted automation in controlled environments.
WARNING
YOLO mode runs shell commands with your full user permissions without confirmation. Only use in environments you fully trust and control.
proto --yolo -p "Run the tests and fix all failures, then commit"Configuration reference
{
"permissions": {
"defaultMode": "auto-edit",
"confirmShellCommands": true,
"confirmFileEdits": false
}
}