You'll noticeTier: how much it should matter to you
4Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
PermissionsArea: what it touches
New FeaturesKind: in v2.1.251,
What probably matters to youSection of the release
What
If your organization's managed settings disable auto mode for the kind of session you are in, Claude Code now leaves auto mode during its normal permission refresh and posts a notice in the conversation pointing at settings, rather than staying in a mode policy forbids.
Details
Triggers when the current mode is auto, or plan with auto queued up behind it, and the managed policy check says auto is not allowed here.
Skipped when admin policy settings failed to load with a non-warning error, unless the admin-survivor fallback is active.
Auto mode itself is controlled by the tengu_auto_mode_config gate, which resolves to enabled when the server sends no value.
Evidence
exitedAutoMode
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Read from
Feature flag
tengu_auto_mode_configNot 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.251: not a boolean we can read
Flag reading movedThe 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 movedThe 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 movedThe 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 movedThe 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 movedThe 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 movedThe 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 movedThe 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 movedThe 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.