claude-code - 💡(How to fix) Fix [BUG] Sandbox write allowlist does not match filenames containing .. (e.g. advisory-db..lock)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

Error Messages/Logs

RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Summary The sandbox filesystem write allowlist fails to match paths where a filename (not a path component) contains two consecutive dots (..). The dots appear to be normalized as a parent-directory reference before glob matching, making such files permanently unmatchable regardless of the pattern used.

Expected behavior The literal path /Users/<user>/.cargo/advisory-db..lock added to the allowlist should grant write access to that exact file. .. embedded inside a filename component should not be treated as a parent-directory reference.

What Should Happen?

All patterns — including the exact literal path — are blocked. The sandbox appears to normalize advisory-db..lock as advisory-db/../lock before matching.

Error Messages/Logs

Steps to Reproduce

Steps to reproduce Add cargo audit (RustSec) to a Claude Code project. cargo audit creates/updates a lock file at ~/.cargo/advisory-db..lock — note the double dot is in the filename, not a path separator. Add any of the following to write.allowWithinDeny in .claude/settings.json:

  • /Users/<user>/.cargo/**
  • /Users/<user>/.cargo/*
  • /Users/<user>/.cargo/advisory-db..lock (exact literal path) Run cargo audit via the Bash tool. All three patterns fail with: attempted to take an exclusive lock on a read-only path

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

2.1.144 (vs code plugin)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

VS Code integrated terminal

Additional Information

No response

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING