Follow Discord
Sweep 06 Nov 2026 · 01:32Z Build v2.1.319 537 read Stable v2.1.311 Latest v2.1.318 Next v2.1.319 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.311 ·

Answers to resumed permission prompts are matched more strictly, and Deny now sticks

When a remote session resumes a parked permission prompt, answers that do not match are refused, and a Deny is kept instead of dropped

Group of 2 You'll notice Improvements
JSON All of v2.1.311
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
PermissionsArea: what it touches
ImprovementsKind: in v2.1.311,
ImprovementsSection of the release

Unclear Which mode turns on the refusal handling, and so whether your sessions use it, is not established.

What

In a remote session, a permission prompt can be parked: left waiting while the session is paused, then picked up again when it resumes. The handling of answers to these parked prompts has been rewritten.

Matching answers to the right call:

  • Strict matching: a new handler rejects answers that cannot be read, that belong to another tool, or that do not repeat the call's input.
  • Timeout: it gives up after a wait, ending with wait_lapsed.
  • Refusal message: an unmatched answer refuses the call with: 'This tool call was refused and did not run: the permission answer for it could not be matched to this call.'
  • New flag: a new flag, tengu_quizzical_knuth, is added. Nothing has been read about it.

Handling a Deny:

  • Deny as refusal: in a gated mode, a Deny is treated as a refusal.
  • Blanked Deny: a blanked Deny is matched by a suppressed request id.
  • Mismatched tool name: the Deny is rewritten rather than dropped.
  • Unreadable Deny: one that cannot be read yet is remembered, and the session keeps waiting.
  • Clear: a clear is sent after the Deny is queued.
  • Later answers: a later non-Deny answer for the same call is dropped, with a log line saying a Deny for it came first.
  • Before: there was one answer path, a Deny got no special handling, and a request id mismatch dropped the answer.

When tengu_eager_pillow is on, the strict-answer path also passes the transcript's message rows. The flag server returned that flag on for this site's account and for the anonymous baseline; no reading has been taken under this release. Nothing has been read about tengu_resume_parked_permission.

Why

Resumed permission prompts in remote sessions are less likely to approve the wrong call. When you deny one, the denial should actually take effect instead of being lost.

Read from
Feature flag
tengu_eager_pillow Off by default, switched on for this account

The shipped code defaults this off, and the flag server returned on for the one account this site reads on this version. That is the reading that makes the entry above worth a second look, and it still says nothing about your account.

This account: on · anonymous baseline: on · compiled default in v2.1.311: 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.311. It isn't a statement about your account. What a flag value here can and cannot tell you

How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhich mode turns on the refusal handling, and so whether your sessions use it, is not established.

See this entry in the whole of v2.1.311 →

Feedback