Skip to content

Approval Modes

Approval modes are used to control Carry Code’s operation permissions, allowing you to finely control what AI can do.


Approval modes define what kind of authorization AI needs when executing operations:

  • 🔒 Safety first - Only allows safe read operations
  • ⚖️ Balanced mode - Allows most operations but requires confirmation
  • 🚀 Full access - Allows all operations without confirmation

AI can only read files and cannot modify or execute anything.

OperationAllowed
Read files
Search files
Execute commands
Write files
Delete files

Use cases:

  • Learning code
  • Code review
  • Problem analysis

AI can execute most operations but requires user confirmation.

OperationAllowedConfirmation Required
Read files-
Search files-
Write files
Execute commands
Delete files

Use cases:

  • Daily programming
  • Code modification
  • Task execution

AI can execute all operations without confirmation.

OperationAllowed
Read files
Search files
Write files
Execute commands
Delete files

Use cases:

  • Automated scripts
  • Trusted AI operations
  • Batch processing

/approval

Then select the mode you want.

/approval read-only
/approval agent
/approval agent-full

Approval modes can work with Build/Plan modes:

Approval ModeBuild ModePlan Mode
read-only❌ Restricted✅ Read-only
agent✅ Executable✅ Read-only
agent-full✅ Full access✅ Read-only

When using agent mode, these operations require confirmation:

  1. Write files - Create or modify files
  2. Execute commands - Run shell commands
  3. Delete files - Delete files or directories

When AI requests to execute an operation:

⚠️ Confirmation Request
Operation: Execute command
Command: npm install
Allow? [y/n]

ScenarioRecommended Mode
Learning coderead-only
Daily developmentagent
Automated tasksagent-full
  1. Unknown projects → Use read-only
  2. Daily use → Use agent
  3. Trust AI → Use agent-full

Configure in ~/.carry/carrycode.json:

{
"approval": {
"mode": "agent",
"confirmWrite": true,
"confirmDelete": true,
"confirmCommand": true
}
}
ParameterDescriptionDefault
modeApproval modeagent
confirmWriteConfirm when writingtrue
confirmDeleteConfirm when deletingtrue
confirmCommandConfirm when executing commandstrue

Default is agent mode, requiring confirmation for sensitive operations.

Q: Can I switch modes using keyboard shortcuts?

Section titled “Q: Can I switch modes using keyboard shortcuts?”

You can use /approval <mode-name> for quick switching.

Q: Will approval modes affect AI’s capabilities?

Section titled “Q: Will approval modes affect AI’s capabilities?”

No. They only affect execution capabilities, not AI’s analysis and suggestion capabilities.

Q: What options are available when confirming?

Section titled “Q: What options are available when confirming?”
OptionAction
yAllow execution
nDeny execution
aRemember choice, don’t ask again