Approving Commands
Learn how to safely approve AI actions and configure auto-approve settings.
Why Approvals Exist
AI coding assistants are powerful, but they can make mistakes. The approval system gives you:
- ●Safety: Review destructive operations before they run (deleting files, running scripts, git operations)
- ●Control: You decide what the AI can do autonomously and what needs your approval
- ●Awareness: See exactly what's happening on your system, even when you're not at your desk
What Needs Approval?
By default, these actions require your approval:
| Action | Why It Needs Approval | Risk Level |
|---|---|---|
| Bash commands | Can run any shell command on your system | High |
| File edits | Modifies existing code (configurable) | Medium |
| File creation | Creates new files in your project | Low |
| Git operations | Commits, pushes, or modifies git history | High |
| Package installs | npm install, pip install, etc. | Medium |
| Destructive ops | rm, unlink, truncate, etc. | Critical |
The Approval Card
When the AI wants to do something that needs your approval, you'll see a card like this:
Card Elements
| Element | Description |
|---|---|
| Warning icon | Indicates this action needs your review |
| Title | "Permission Required" or similar |
| Description | What the AI wants to do |
| Details | The exact command, diff preview, or file path |
| Deny button | Reject the action (AI will be told you denied it) |
| Approve button | Allow the action to proceed |
Diff Preview for File Edits
For file edits, the approval card shows a diff preview so you can see exactly what will change:
How to Respond
Read what the AI wants to do. For commands, check the exact syntax. For edits, review the diff.
If it looks correct and safe, tap Approve. If something seems wrong, tap Deny.
After approval, the action runs. After denial, the AI is notified and may suggest an alternative.
- • Command looks suspicious or unfamiliar
- • Diff changes code you didn't expect
- • Operation seems too broad (e.g.,
rm -rf) - • You want to do it differently
Always Allow (Auto-Approve)
For trusted tools you use frequently, you can enable auto-approve:
Permission Modes
| Mode | Description | Best For |
|---|---|---|
| default | Ask for all potentially dangerous operations | New users, careful workflows |
| plan | Auto-approve planning/analysis tools | When you trust the AI to explore |
| auto-edit | Auto-approve file edits (still asks for bash) | Faster coding, you review via git |
| allowAll | Auto-approve everything (use with caution!) | Trusted, isolated environments |
Configuring Permissions
In the app:
- Go to Settings → AI Backend → Permissions
- Choose your permission mode
- Optionally, enable/disable specific tools
Per-Tool Settings
You can also configure individual tools:
| Tool | Recommendation |
|---|---|
| Read, Glob, Grep | Always auto-approve (read-only) |
| Edit | Auto-approve if you review via git, otherwise ask |
| Write | Auto-approve for new files, review for overwrites |
| Bash | Always ask (can run any command) |
| Task | Ask if you want control over sub-agents |
Security Best Practices
- ✓ Review bash commands before approving
- ✓ Check diffs to understand what's changing
- ✓ Use git to track changes (easy to revert)
- ✓ Start with default mode, loosen as you gain trust
- ✓ Deny anything that looks suspicious
- ✗ Use "allowAll" mode on production systems
- ✗ Approve commands you don't understand
- ✗ Ignore the details in approval cards
- ✗ Give the AI access to sensitive directories
- ✗ Approve broad delete operations without review
git checkout or git reset to undo changes.What Happens When You Deny
When you deny a request:
- The action is not executed
- The AI receives a "permission denied" response
- The AI typically acknowledges and may suggest an alternative
- You can explain why you denied (helps the AI understand)
Permission Notifications
When a permission request comes in while you're not looking at the app:
- • Push notification: Your phone notifies you (if enabled)
- • Badge count: App icon shows pending requests
- • Session status: Session shows "Waiting for approval"
Enable notifications in Settings → Notifications to never miss a permission request.