What's wrong with this entry?
What: The filesystem permissions configuration has been completely redesigned with a simplified, asymmetric approach: reads use denylist-only mode, writes use allowlist-only mode.
Old model (v1.0.119):
{
"permissions": {
"filesystem": {
"read": {
"allowAllExcept": ["/etc/", "/private/"]
},
"write": {
"denyAllExcept": ["/home/user/project/"]
}
}
}
}
New model (v1.0.120):
{
"permissions": {
"filesystem": {
"read": {
"denyOnly": ["/etc/passwd", "/private/keys/"]
},
"write": {
"allowOnly": ["/home/user/project/"],
"includeDefaults": true,
"denyWithinAllow": ["./.claude/"]
}
}
}
}
Key differences:
- Read permissions: Only
denyOnlymode (assumes open by default, deny specific paths) - Write permissions: Only
allowOnlymode (assumes closed by default, allow specific paths) - Lost feature: Can no longer do restrictive read permissions (
denyAllExceptfor reads is removed) - New feature:
denyWithinAllowallows exceptions within allowed write paths - Breaking change: Existing v1.0.119 configurations are incompatible
New schemas at lines 354053-354067 (ew9 and Aq9), old schemas removed from lines 354007-354030 (y10 and k10), new implementation at lines 374904-374938 (ob6() and tb6())
Strings lifted out of the shipped bundle, so the claim above can be checked against them.