soft_deny
A Claude Code settings key, read out of the shipped bundle. It was in the build from v2.1.318 and was gone by v2.1.319.
Permission decisions can now be soft or hard denials, with reasons like unreadable rules.
Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.248.
In the changelogs
12Releases whose published page names soft_deny.
-
v2.1.319
Auto mode decisions can name the rule behind them and flag untrusted folders
Auto mode results can now name the allow or soft deny rule that applied, and a permission check can now report an untrusted folder
found in this entry's text
-
v2.1.314
Auto mode rule types each get a plain description
Claude Code now has a short description for each kind of auto mode rule: allow, soft deny, hard deny and environment
found in this entry's text
-
v2.1.310
Only deny rules from auto mode settings pass on outside full mode
Unless the mode is full, Claude Code now passes on only the soft_deny and hard_deny auto mode settings instead of all of them
found in this entry's text
-
v2.1.295
Self-hosted runners can choose which server auto mode lists apply
A new
SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTSsetting lets self-hosted runner operators limit which server-supplied auto mode lists sessions followfound in this entry's text
-
v2.1.283
Auto mode no longer checks a message twice when forwarding it to Claude Desktop
In auto mode, a message SendMessage forwards to Claude Desktop is allowed without a second safety check if the first check already allowed it
found in this entry's text
-
v2.1.282
Broken managed settings now fail safe, including permission and sandbox blocks
An invalid value in managed settings now becomes its most restrictive value, and a block with an unreadable deny rule loses its allow grants
found in this entry's text
-
v2.1.281
Auto-mode classifier prompt can be built without the user's auto-mode rules
The auto-mode classifier prompt can now be built with its allow, soft_deny, hard_deny and environment rule lists left empty
found in this entry's text
-
v2.1.248
Permission denials split into soft and hard
Permission decisions can now be soft or hard denials, with reasons like unreadable rules.
found in this entry's text
-
v2.1.136
Auto Mode Hard-Deny Rules
found in this entry's text
-
v2.1.118
Auto Mode Classifier $defaults Inheritance
found in this entry's text
-
v2.1.81
Auto Mode Rule Critique CLI
found in this entry's text
-
v2.1.78
Auto Mode Classifier:
denyRenamed tosoft_denyfound in this entry's text
First cited
2The earliest release whose published evidence quoted soft_deny was v2.1.136, 8 May 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
2Build by build
2One row per release since the first build this name was read out of. Absent means the build was read and the name was not in it, never mined means no bundle for that release was ever archived, and a declared type or a default is only ever what that release's own bundle stated.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the settings key does. All settings keys.