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 v2.1.280 ·

Permission checks now handle unresolved symlink chains and re-check paths for Edit/NotebookEdit

File permission checks now explicitly deny paths with unresolved symlink chains and track path 'spellings' for stashing and rechecking.

Group of 3 You'll notice Internal Changes
JSON All of v2.1.280
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
PermissionsArea: what it touches
Internal ChangesKind: in v2.1.280,
ImprovementsSection of the release

What

  • The core read/write permission-decision function now takes a richer path-resolution object with a spellings set and an unresolved flag; when a path's symlink chain can't be resolved, it now explicitly denies with a dedicated reason instead of silently falling through, and still honors blockReadsOutsideWorkingDirectories and restricted-mode circuit breakers.
  • The permission stash used for later prompt dedup/matching now stores the path's spellings set instead of the whole path-resolution object.
  • checkPermissions for the Edit and NotebookEdit tools no longer returns the base permission decision directly; it now only short-circuits on an explicit deny, and otherwise runs an extra check against the stashed path/spellings that can override an allow/ask decision.

Why

This closes a gap where a path whose symlink chain couldn't be resolved could otherwise be treated as safe, and makes sure Edit/NotebookEdit re-check the resolved path before allowing an operation.

See this entry in the whole of v2.1.280 →

Feedback