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 v1.0.120 ·

Redesigned Filesystem Permissions Model

Entry
JSON All of v1.0.120
EntryKind: in v1.0.120,
ChangesSection of the release

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 denyOnly mode (assumes open by default, deny specific paths)
  • Write permissions: Only allowOnly mode (assumes closed by default, allow specific paths)
  • Lost feature: Can no longer do restrictive read permissions (denyAllExcept for reads is removed)
  • New feature: denyWithinAllow allows exceptions within allowed write paths
  • Breaking change: Existing v1.0.119 configurations are incompatible
Evidence

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.

See this entry in the whole of v1.0.120 →

Feedback