{"version":"2.1.280","anchor":"new-tool-result-field-tooldenialendsturn-for-permission-st","canonical_anchor":"new-abort-reason-permission-stop","heading":"Denying a tool during a 'permission stop' now cleanly ends the turn","tier":"notice","area":"Permissions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280\/e\/new-tool-result-field-tooldenialendsturn-for-permission-st","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280","markdown":"### Denying a tool during a 'permission stop' now cleanly ends the turn\n\nA new 'permission-stop' abort reason makes denied tool calls end the turn cleanly instead of being logged as a plain interruption\n\n**What**\n\n- A new abort\/interrupt reason, `permission-stop`, was added alongside the existing `interrupt`, `turn-abort`, and `refusal-fallback-edit` reasons, with its own error mapping.\n\n- When a tool call is denied while the abort reason is `permission-stop`, the resulting tool-result message now carries a `toolDenialEndsTurn` flag. A new helper walks backward through the conversation and treats a user message with this flag set as one that ended the turn, rather than one that was merely interrupted.\n\n- This `toolDenialEndsTurn` flag is now carried through the rest of the tool-result plumbing (alongside existing fields like `toolDenialKind`\/`userFeedback`) and is checked to short-circuit processing when a denial should end the turn.\n\n- Subagents are affected too: when a synchronous subagent is stopped for this reason, it's now recorded distinctly (`permission_stop_sync`) in telemetry and cleaned up as a system action rather than being reported as a plain user cancellation.\n\n**Why**\n\nPreviously, denying a tool call during a permission stop could be misclassified as a generic interruption. This change makes Claude Code correctly recognize that the turn ended because of the permission denial, so the conversation transcript and telemetry reflect what actually happened.\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}