Skip to content

Approval Mode

Control what proto is allowed to do automatically versus what requires your explicit approval.

Modes

ModeFile editsShell commandsBest for
Plan❌ Read-only❌ Not executedExploration, planning, safe review
Default✅ Approval required✅ Approval requiredMost development work
Auto-Edit✅ Auto-approved✅ Approval requiredDaily coding tasks
YOLO✅ Auto-approved✅ Auto-approvedCI/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 yolo

Or use Shift+Tab to cycle: Default → Auto-Edit → YOLO → Plan → Default.

Set a persistent default

json
// .proto/settings.json (project) or ~/.proto/settings.json (global)
{
  "permissions": {
    "defaultMode": "auto-edit"
  }
}

From the CLI

bash
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 plan
What 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 default

Auto-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-edit

YOLO 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.

bash
proto --yolo -p "Run the tests and fix all failures, then commit"

Configuration reference

json
{
  "permissions": {
    "defaultMode": "auto-edit",
    "confirmShellCommands": true,
    "confirmFileEdits": false
  }
}

Released under the Apache-2.0 License.