{"version":"2.1.287","anchor":"auto-mode-permission-classifier-now-returns-a-reason-for-eac","canonical_anchor":"auto-mode-permission-classifier-now-returns-a-reason-for-eac","heading":"Auto mode now records why it did not approve an action","tier":"internal","area":"Auto Mode","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287\/e\/auto-mode-permission-classifier-now-returns-a-reason-for-eac","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287","markdown":"### Auto mode now records why it did not approve an action\n\nWhen auto mode does not approve an action by itself, it now records a reason, without changing what gets approved\n\n**Unclear.** Where these reasons are shown or logged is not traced.\n\n**What**\n\nIn auto mode, Claude Code decides by itself whether an action can go ahead without asking you. When it decides an action is not eligible, it used to return a plain \"no\". It now returns a reason, such as:\n\n- `requires_user_interaction`\n\n- `org_ceiling`\n\n- `mcp_path`\n\n- `plan_floor`\n\n- `sandbox_override_read_block`\n\n- `ask_rule`\n\n- `not_auto`\n\n- `plan_unbacked`\n\n- `rewrite_own_hooks`\n\n- `rewrite_unvouched`\n\nWhich actions are approved does not change.\n\n**Why**\n\nEach refusal can now be told apart, giving auto-mode decisions a record of why they went the way they did.\n\n- Area: Auto Mode\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5"}