{"name":"--permission-prompt-tool","slug":"permission-prompt-tool","family":"cli","title":"CLI flags","noun":"CLI flag","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","description_source":"docs","described_by":{"doc":"claude-code\/cli-reference","title":"CLI reference"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.308","builds":0,"mined_builds":149,"first_cited":{"version":"2.1.229","released_at":"2026-08-12 19:28:48","spans":4}},"aliases":[],"entries":[{"version":"2.1.300","anchor":"permission-prompt-tool-wrapped","heading":"Handling of --permission-prompt-tool was restructured","line":"The handler behind `--permission-prompt-tool` is now wrapped in a separate helper, and a related input and output shortcut changed","released_at":"2026-10-14 14:27:26","reason":"found in this entry's text"},{"version":"2.1.299","anchor":"permission-prompt-tool-host-display-permissions-handled-d","heading":"Permission requests worded by a host app are handled differently","line":"With `--permission-prompt-tool`, Claude Code now checks whether a permission request carries wording from the host app instead of a local-only mark","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text"},{"version":"2.1.283","anchor":"permission-prompt-tool-no-longer-races-hooks-for-person-on","heading":"Hooks can no longer answer permission requests meant for a person","line":"With --permission-prompt-tool, permission requests marked person-only must be answered by the prompt tool, not by a hook","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text"},{"version":"2.1.265","anchor":"cli-option-class-renamed-q-y-and-error-class-renamed-h","heading":"CLI option class renamed (q -> Y) and error class renamed (Ht -> It); no behavior change","line":"Internal CLI option and error classes were renamed with no change in behavior","released_at":"2026-09-08 19:05:16","reason":"found in this entry's text"},{"version":"2.1.259","anchor":"new-permission-prompts-hostnone-clisdk-option-to-silen","heading":"New --permission-prompts host|none CLI\/SDK option to silently auto-deny prompts","line":"A new --permission-prompts option lets print sessions auto-deny anything that would prompt instead of asking the host.","released_at":"2026-09-02 21:21:42","reason":"found in this entry's text"},{"version":"2.1.259","anchor":"new-permission-prompts-none-cli-flag-for-headless-print","heading":"New --permission-prompts none CLI flag for headless print sessions","line":"In print mode you can pick who answers permission prompts: the host, or none, which auto-denies without asking.","released_at":"2026-09-02 21:21:42","reason":"found in this entry's text"},{"version":"2.1.246","anchor":"permission-prompts-deny-cleanly-when-the-mcp-server-behind-p","heading":"Permission prompts deny cleanly when the MCP server behind --permission-prompt-tool is gone","line":"If the server behind --permission-prompt-tool disconnects, checks now deny cleanly instead of using a stale tool.","released_at":"2026-08-25 19:17:34","reason":"named in this entry, found in this entry's text"},{"version":"2.1.229","anchor":"permission-prompt-tool-errors-reportable-without-leaking-too","heading":"Permission-prompt-tool errors reportable without leaking tool names","line":"Permission-prompt-tool errors sent as telemetry no longer include your tool names.","released_at":"2026-08-12 19:28:48","reason":"named in this entry, found in this entry's text"},{"version":"1.0.14","anchor":"enhanced-mcp-tool-error-messages","heading":"Enhanced MCP Tool Error Messages","line":null,"released_at":"2025-06-05 20:48:28","reason":"found in this entry's text"},{"version":"1.0.14","anchor":"tool-permission-filtering","heading":"Tool Permission Filtering","line":null,"released_at":"2025-06-05 20:48:28","reason":"found in this entry's text"}],"entries_total":10,"docs":[{"source":"claude-code","path":"cli-reference","title":"CLI reference","documented":true},{"source":"claude-code","path":"agent-sdk\/typescript","title":"Agent SDK reference - TypeScript","documented":false},{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"env-vars","title":"Environment variables","documented":false},{"source":"claude-code","path":"errors","title":"Error reference","documented":false},{"source":"claude-code","path":"headless","title":"Run Claude Code programmatically","documented":false},{"source":"claude-code","path":"hooks","title":"Hooks reference","documented":false},{"source":"claude-code","path":"mcp","title":"Connect Claude Code to tools via MCP","documented":false},{"source":"claude-code","path":"monitoring-usage","title":"Monitoring","documented":false},{"source":"claude-code","path":"permission-modes","title":"Choose a permission mode","documented":false}],"docs_total":13,"gates":[],"related":[{"name":"--permission-mode","slug":"permission-mode","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"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/cli\/permission-prompt-tool","family_url":"https:\/\/changelogs.core-directive.com\/reference\/cli.json"}