{"name":"denyWrite","slug":"denywrite","family":"setting","title":"Settings keys","noun":"settings key","description":"If one entry in deniedDomains, denyWrite or denyRead is invalid, Claude Code now withholds the matching allow list instead of applying it","description_source":"entry","described_by":{"version":"2.1.283","anchor":"sandbox-network-and-filesystem-grants-are-withheld-when-a-re"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.318","builds":0,"mined_builds":158,"first_cited":{"version":"2.1.317","released_at":"2026-11-02 23:57:53","spans":1}},"aliases":[],"entries":[{"version":"2.1.317","anchor":"symlinked-denywrite-and-deny-scrub-handling-hardened-tengu","heading":"Sandbox stops following some symlinks in write-protected paths","line":"Behind a server switch, the sandbox no longer follows a write-protected symlink that points at another host or cannot be safely checked","released_at":"2026-11-02 23:57:53","reason":"named in this entry, found in this entry's text"},{"version":"2.1.304","anchor":"sandbox-credential-denies-take-priority-over-allows-with-w","heading":"Sandbox blocks on credential files now win over broader allow rules","line":"Sandbox allow rules no longer reopen blocked credential files, and the network proxy gains stricter options","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text"},{"version":"2.1.304","anchor":"sandbox-filesystem-deny-lists-are-merged-through-one-shared","heading":"Sandbox credential paths are now kept apart from other read restrictions","line":"Sandbox block lists are now built in one shared place, and credential paths stay in their own list instead of joining `denyRead`","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text"},{"version":"2.1.283","anchor":"sandbox-network-and-filesystem-grants-are-withheld-when-a-re","heading":"One invalid sandbox deny entry now withholds the matching allow rules","line":"If one entry in deniedDomains, denyWrite or denyRead is invalid, Claude Code now withholds the matching allow list instead of applying it","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text"},{"version":"2.1.198","anchor":"windows-sandbox-per-exec-deny-flags","heading":"Windows Sandbox: Per-Exec Deny Flags","line":null,"released_at":"2026-07-01 16:50:16","reason":"found in this entry's text"},{"version":"2.1.186","anchor":"bug-fixes","heading":"","line":null,"released_at":"2026-06-22 18:03:48","reason":"found in this entry's text"}],"entries_total":6,"docs":[{"source":"claude-code","path":"agent-sdk\/python","title":"Agent SDK reference - Python","documented":false},{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"managed-settings","title":"Deploy managed settings","documented":false},{"source":"claude-code","path":"sandbox-environments","title":"Choose a sandbox environment","documented":false},{"source":"claude-code","path":"sandboxing","title":"Configure the sandboxed Bash tool","documented":false},{"source":"claude-code","path":"settings","title":"Claude Code settings","documented":false},{"source":"claude-code","path":"settings-reference","title":"All settings","documented":false}],"docs_total":7,"gates":[],"related":[],"url":"https:\/\/changelogs.core-directive.com\/reference\/setting\/denywrite","family_url":"https:\/\/changelogs.core-directive.com\/reference\/setting.json"}