Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.219 ·

Auto-mode permission classifier can emit a numeric severity instead of a yes/no block

Auto-mode permission checks can score risk 0-100 instead of yes/no, but only for configured models.

Nothing to try yet Notable In Development
JSON All of v2.1.219
Nothing to try yetTier: how much it should matter to you
3Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
PermissionsArea: what it touches
In DevelopmentKind: in v2.1.219,
What probably matters to youSection of the release

A numeric severity prompt variant is present, used only when severityByModel lists your model in tengu_auto_mode_config.

What

When a severity config exists for the current model, the auto-mode classifier prompt is rewritten to ask for a numeric score rather than a block decision. Without that config the prompt keeps its existing form.

Details
  • the trailing "## Output Format" section is replaced to demand <severity>N</severity> on a 0 to 100 scale, with 50 as the allow/block boundary, instead of <block>yes/no</block>
  • gated on severityByModel in tengu_auto_mode_config; models absent from that map take the unchanged path
  • the permission rules injected into the classifier prompt are wrapped in <cc_automode_permissions> tags
  • denials taken because auto-mode is active use a distinct user-facing message naming the mode
Evidence

Permission to use ${e} has been denied because Claude Code is running in don't ask mode.

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Read from
Feature flag
tengu_auto_mode_config 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.219: not a boolean we can read

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.219. It isn't a statement about your account. What a flag value here can and cannot tell you

What has happened since
Flag reading moved The flag server now returns {"editRemovalCap":3000,"editRemovalVisibility":true,"enabled":"enabled","envOnboarding":true,"gitStatusType":true,"gitStatusUploads":false,"jsonlTranscript":true,"outcomeVisibility":false,"repoVisibility":true,"sameTurnSiblingContext":true,"severityByModel":{"claude-opus-4-8":{"t1":45,"t2":35},"claude-opus-4-8[1m]":{"t1":45,"t2":35},"claude-sonnet-5":{"t1":25,"t2":35},"claude-sonnet-5[1m]":{"t1":25,"t2":35}},"severityBySite":{"compactFabCheck":"on","handoff":"on","investigator":"on","sandboxNetwork":"on","workflowGate":"on"},"twoStageClassifier":true} for tengu_auto_mode_config, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns {"editRemovalCap":3000,"editRemovalVisibility":true,"enabled":"enabled","envOnboarding":true,"gitStatusType":true,"gitStatusUploads":false,"jsonlTranscript":true,"modelByMainModel":{"claude-haiku-5-5":"claude-sonnet-5[1m]","claude-haiku-5-5[1m]":"claude-sonnet-5[1m]"},"outcomeVisibility":false,"repoVisibility":true,"sameTurnSiblingContext":true,"severityByModel":{"claude-opus-4-8":{"t1":45,"t2":35},"claude-opus-4-8[1m]":{"t1":45,"t2":35},"claude-sonnet-5":{"t1":25,"t2":35},"claude-sonnet-5[1m]":{"t1":25,"t2":35}},"severityBySite":{"compactFabCheck":"on","handoff":"on","investigator":"on","sandboxNetwork":"on","workflowGate":"on"},"twoStageClassifier":true} for tengu_auto_mode_config, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns {"editRemovalCap":3000,"editRemovalVisibility":true,"enabled":"enabled","envOnboarding":true,"gitStatusType":true,"gitStatusUploads":false,"jsonlTranscript":true,"outcomeVisibility":false,"repoVisibility":true,"sameTurnSiblingContext":true,"severityByModel":{"claude-opus-4-8":{"t1":45,"t2":35},"claude-opus-4-8[1m]":{"t1":45,"t2":35},"claude-sonnet-5":{"t1":25,"t2":35},"claude-sonnet-5[1m]":{"t1":25,"t2":35}},"severityBySite":{"compactFabCheck":"on","handoff":"on","investigator":"on","sandboxNetwork":"on","workflowGate":"on"},"twoStageClassifier":true} for tengu_auto_mode_config, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns {"editRemovalCap":3000,"editRemovalVisibility":true,"enabled":"enabled","envOnboarding":true,"gitStatusType":true,"gitStatusUploads":false,"jsonlTranscript":true,"modelByMainModel":{"claude-haiku-5-5":"claude-sonnet-5[1m]","claude-haiku-5-5[1m]":"claude-sonnet-5[1m]"},"outcomeVisibility":false,"repoVisibility":true,"sameTurnSiblingContext":true,"severityByModel":{"claude-opus-4-8":{"t1":45,"t2":35},"claude-opus-4-8[1m]":{"t1":45,"t2":35},"claude-sonnet-5":{"t1":25,"t2":35},"claude-sonnet-5[1m]":{"t1":25,"t2":35}},"severityBySite":{"compactFabCheck":"on","handoff":"on","investigator":"on","sandboxNetwork":"on","workflowGate":"on"},"twoStageClassifier":true} for tengu_auto_mode_config, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns {"editRemovalCap":3000,"editRemovalVisibility":true,"enabled":"enabled","envOnboarding":true,"gitStatusType":true,"gitStatusUploads":false,"jsonlTranscript":true,"outcomeVisibility":false,"repoVisibility":true,"sameTurnSiblingContext":true,"severityByModel":{"claude-opus-4-8":{"t1":45,"t2":35},"claude-opus-4-8[1m]":{"t1":45,"t2":35},"claude-sonnet-5":{"t1":25,"t2":35},"claude-sonnet-5[1m]":{"t1":25,"t2":35}},"severityBySite":{"compactFabCheck":"on","handoff":"on","investigator":"on","sandboxNetwork":"on","workflowGate":"on"},"twoStageClassifier":true} for tengu_auto_mode_config, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns {"editRemovalCap":3000,"editRemovalVisibility":true,"enabled":"enabled","envOnboarding":true,"gitStatusType":true,"gitStatusUploads":false,"jsonlTranscript":true,"modelByMainModel":{"claude-haiku-5-5":"claude-sonnet-5[1m]","claude-haiku-5-5[1m]":"claude-sonnet-5[1m]"},"outcomeVisibility":false,"repoVisibility":true,"sameTurnSiblingContext":true,"severityByModel":{"claude-opus-4-8":{"t1":45,"t2":35},"claude-opus-4-8[1m]":{"t1":45,"t2":35},"claude-sonnet-5":{"t1":25,"t2":35},"claude-sonnet-5[1m]":{"t1":25,"t2":35}},"severityBySite":{"compactFabCheck":"on","handoff":"on","investigator":"on","sandboxNetwork":"on","workflowGate":"on"},"twoStageClassifier":true} for tengu_auto_mode_config, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns {"editRemovalCap":3000,"editRemovalVisibility":true,"enabled":"enabled","envOnboarding":true,"gitStatusType":true,"gitStatusUploads":false,"jsonlTranscript":true,"outcomeVisibility":false,"repoVisibility":true,"sameTurnSiblingContext":true,"severityByModel":{"claude-opus-4-8":{"t1":45,"t2":35},"claude-opus-4-8[1m]":{"t1":45,"t2":35},"claude-sonnet-5":{"t1":25,"t2":35},"claude-sonnet-5[1m]":{"t1":25,"t2":35}},"severityBySite":{"compactFabCheck":"on","handoff":"on","investigator":"on","sandboxNetwork":"on","workflowGate":"on"},"twoStageClassifier":true} for tengu_auto_mode_config, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns {"editRemovalCap":3000,"editRemovalVisibility":true,"enabled":"enabled","envOnboarding":true,"gitStatusType":true,"gitStatusUploads":false,"jsonlTranscript":true,"modelByMainModel":{"claude-haiku-5-5":"claude-sonnet-5[1m]","claude-haiku-5-5[1m]":"claude-sonnet-5[1m]"},"outcomeVisibility":false,"repoVisibility":true,"sameTurnSiblingContext":true,"severityByModel":{"claude-opus-4-8":{"t1":45,"t2":35},"claude-opus-4-8[1m]":{"t1":45,"t2":35},"claude-sonnet-5":{"t1":25,"t2":35},"claude-sonnet-5[1m]":{"t1":25,"t2":35}},"severityBySite":{"compactFabCheck":"on","handoff":"on","investigator":"on","sandboxNetwork":"on","workflowGate":"on"},"twoStageClassifier":true} for tengu_auto_mode_config, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.

See this across every release →

See this entry in the whole of v2.1.219 →

Feedback