EACCES on /tmp/claude-settings-<hash>.json when another user created it first
Summary
On multi-user macOS systems, Claude Code fails to start with:
Error processing settings: EACCES: permission denied, open '/tmp/claude-settings-<hash>.json'
when another user on the same machine previously ran claude in the same working directory. The filename hash appears to be deterministic (derived from cwd or similar), so it collides across users. Because /tmp has the sticky bit, only the original owner (or root) can remove the file, blocking every other user until it is manually deleted.
Repro
- User A runs
claudein/path/to/project→ creates/tmp/claude-settings-<hash>.jsonowned by A (mode 644). - User B runs
claudein the same directory → crashes with EACCES.
Environment
- Platform: darwin (macOS)
- OS: Darwin 24.2.0
- Shell: zsh
Expected
Per-user settings path (e.g. under $TMPDIR, which on macOS is already per-user at /var/folders/.../T/), or include uid in the filename, so multiple users on the same host don't collide.
Workaround
sudo rm /tmp/claude-settings-<hash>.json. Setting TMPDIR has no effect because the path is hardcoded to /tmp.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗