{"name":"--permission-mode","slug":"permission-mode","family":"cli","title":"CLI flags","noun":"CLI flag","description":"Begin in a specified [permission mode](\/docs\/en\/permission-modes). Accepts `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, or `manual` as an alias for `default`. The `manual` alias selects the permission mode the UI labels Manual and requires Claude Code v2.1.200 or later; `claude --help` lists it in place of `default`, and both values work. Overrides `defaultMode` from settings files. Without this flag or `--dangerously-skip-permissions`, a new session starts in the permission mode described in [which permission mode a session starts in](\/docs\/en\/permission-modes#which-mode-a-session-starts-in). For `-p`, that's `default` when nothing is configured","description_source":"docs","described_by":{"doc":"claude-code\/cli-reference","title":"CLI reference"},"presence":{"first_seen":"2.1.142","removed_in":null,"in_current_build":true,"newest_mined":"2.1.309","builds":146,"mined_builds":150,"first_cited":{"version":"2.1.63","released_at":"2026-02-28 02:43:42","spans":4}},"aliases":[],"entries":[{"version":"2.1.300","anchor":"self-hosted-runner-notice-when-the-settings-default-permissi","heading":"Notice for self-hosted runners when your default permission mode is ignored","line":"Claude Code has a notice for self-hosted runners saying your settings' default permission mode does not apply","released_at":"2026-10-14 14:27:26","reason":"found in this entry's text, named in this entry"},{"version":"2.1.290","anchor":"new-proactivity-startup-level-gated-by-tengu-proactivity","heading":"New --proactivity flag sets how much Claude does on its own at startup","line":"A `--proactivity` flag picks the proactivity level when Claude Code starts, and `CLAUDE_CODE_DISABLE_PROACTIVITY` turns the selector off","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.290","anchor":"proactivity-level-can-override-the-starting-permission-mode","heading":"A proactivity level can set the permission mode a session starts in","line":"When a proactivity level other than default is set, Claude Code can choose the starting permission mode from it","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.290","anchor":"proactivity-level-is-propagated-to-the-remote-client-and-a","heading":"Proactivity level changes now reach remote sessions","line":"Changing the permission mode or proactivity level now notifies remote clients, and a `--proactivity` value is recorded with `--permission-mode`","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.290","anchor":"spawned-teammates-now-get-proactivity-passed-through","heading":"Teammates now inherit the lead session's proactivity level","line":"Teammates started by a lead session now receive `--proactivity` with the lead's level when one is set","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.288","anchor":"cloud-session-permission-mode-message-changed","heading":"Cloud sessions now say --permission-mode sets their permission mode","line":"The cloud session message now says the permission mode is not inherited and is set by `--permission-mode`, not taken from the repository's settings","released_at":"2026-10-02 18:30:40","reason":"found in this entry's text, named in this entry"},{"version":"2.1.281","anchor":"hidden-claude-p-cloud-headless-cloud-print-path-added","heading":"Hidden claude -p --cloud headless cloud-print path added, but compiled off","line":"Code for a headless `claude -p --cloud` run is added, but the switch that enables it returns false, so no one can use it in 2.1.281","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text"},{"version":"2.1.281","anchor":"permission-mode-not-sent-in-serve-only-mode","heading":"--permission-mode not sent in serve-only mode","line":"In serve-only mode, Claude Code no longer sends the startup request built from --permission-mode","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text, named in this entry"},{"version":"2.1.259","anchor":"additional-cli-permission-modes-surfaced-when-replaying-sess","heading":"Additional CLI permission modes surfaced when replaying session state","line":"Replayed sessions now round-trip the default, plan, dontAsk and bubble permission modes, not just the three previously handled.","released_at":"2026-09-02 21:21:42","reason":"found in this entry's text, named in this entry"},{"version":"2.1.248","anchor":"claude-remote-control-refuses-flags-typed-before-the-verb","heading":"claude remote-control refuses flags typed before the verb","line":"Flags typed before remote-control now error out instead of being silently dropped.","released_at":"2026-08-27 20:35:36","reason":"found in this entry's text"}],"entries_total":18,"docs":[{"source":"claude-code","path":"cli-reference","title":"CLI reference","documented":true},{"source":"claude-code","path":"agent-view","title":"Manage multiple agents with agent view","documented":false},{"source":"claude-code","path":"best-practices","title":"Best practices for Claude Code","documented":false},{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"claude-code-on-the-web","title":"Use Claude Code in the cloud","documented":false},{"source":"claude-code","path":"claude-directory","title":"Explore the .claude directory","documented":false},{"source":"claude-code","path":"common-workflows","title":"Common workflows","documented":false},{"source":"claude-code","path":"desktop","title":"Desktop application","documented":false},{"source":"claude-code","path":"gitlab-ci-cd","title":"Claude Code GitLab CI\/CD","documented":false},{"source":"claude-code","path":"headless","title":"Run Claude Code programmatically","documented":false}],"docs_total":13,"gates":[],"related":[{"name":"--permission-prompt-tool","slug":"permission-prompt-tool","description":"Specify an MCP tool to handle permission prompts in non-interactive mode. Claude Code waits for that tool's MCP server to connect before running the first turn, up to the [`MCP_TIMEOUT`](\/docs\/en\/env-vars) startup timeout, 30 seconds by default. <br \/><br \/>The prompt tool can't approve an MCP tool marked as [requiring user interaction](\/docs\/en\/mcp#require-approval-for-a-specific-tool): Claude Code converts an `allow` result for one to a deny. This restriction requires Claude Code v2.1.199 or later"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/cli\/permission-mode","family_url":"https:\/\/changelogs.core-directive.com\/reference\/cli.json"}