Follow Discord
Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
Claude Code v2.1.280 ·

Denying a tool during a 'permission stop' now cleanly ends the turn

A new 'permission-stop' abort reason makes denied tool calls end the turn cleanly instead of being logged as a plain interruption

TierYou'll noticehow much it should matter to you
Useful3my rating, 1 to 5
Signal3worth watching, 1 to 5
AreaSessionswhat it touches
KindImprovementsin v2.1.280,
Group of 5 You'll notice

A new 'permission-stop' abort reason makes denied tool calls end the turn cleanly instead of being logged as a plain interruption

What

  • 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.
  • 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.
  • 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.
  • 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.

Why

Previously, 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.

Read from
Feature flag
tengu_fizzy_grove Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.280: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.280. It isn't a statement about your account. What a flag value here can and cannot tell you

See this entry in the whole of v2.1.280 →

Feedback