This page covers the runtime
PermissionMode enum (DEFAULT, PLAN, ACCEPT_EDITS, DONT_ASK, BYPASS). For the declarative mode: field in agent definition files (build / read-only / plan / review), see Agent Presets & Modes.How It Works
Quick Start
Available Modes
| Mode | Value | Safety | Description |
|---|---|---|---|
DEFAULT | default | Safe | Standard checking — prompt for each operation |
PLAN | plan | Safe | Read-only — no write or shell operations |
ACCEPT_EDITS | accept_edits | Moderate | Auto-accept file edits; still prompts for other ops |
DONT_ASK | dont_ask | Moderate | Auto-deny all permission prompts |
BYPASS | bypass_permissions | Dangerous | Skip all checks — requires explicit opt-in |
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
default_permission_mode | str | None | Default mode for all subagents from create_subagent_tool |
permission_mode | str | None | Per-call override on spawn_subagent |
--approval | CLI flag | TTY-dependent | Maps to modes: console, plan, accept-edits, bypass |
PermissionMode | Enum value | CLI flag |
|---|---|---|
DEFAULT | default | --approval console |
PLAN | plan | --approval plan |
ACCEPT_EDITS | accept_edits | --approval accept-edits |
BYPASS | bypass_permissions | --approval bypass |
DONT_ASK | dont_ask | Non-interactive only (--yes / PRAISONAI_NON_INTERACTIVE=1) |
Best Practices
Use plan for exploration subagents
Use plan for exploration subagents
Set
default_permission_mode="plan" when subagents only read and analyse code — prevents accidental file changes.Match mode to task scope
Match mode to task scope
Exploration →
plan. Refactoring → accept_edits. Interactive work → default.Never use bypass in production
Never use bypass in production
Reserve
bypass_permissions for fully trusted local development environments only.Log the active mode
Log the active mode
Record which permission mode is active for audit trails when running non-default modes.
Related
Permissions Module
Pattern-based allow, deny, and ask rules
Interactive Approval
Terminal approval experience for tool calls

