EACCES / EPERM: permission denied
The OS refused a read, write, or exec because of file ownership or mode.
415 issues · 71 open · 344 resolved (83%) · first seen Feb 24, 2025
First response · local
What to do now
Most likely: The operating system rejected a file or directory operation.
- Read the first path in the error and verify that it exists and belongs to the expected user.
- Check disk space, permissions, symlinks and whether another process holds the target.
- Reproduce with the smallest affected path before changing project-wide permissions.
These are conservative triage steps, not an official Anthropic fix. Use the issue and workaround evidence below before making a destructive configuration change.
Is this getting better or worse?
This class of problem is holding steady. 99 new reports in the last 90 days vs 130 in the 90 before — -24%. The open backlog peaked at 71 in 2026-08 and sits at 71 today.
Derived by counting each matching issue from its creation date until it closed. First-party
computation over the anthropics/claude-code tracker — the trend is not published
anywhere upstream.
Which builds report this
262 of these reports name the Claude Code build they were running, spanning 122 releases. Heaviest reporters:
- Claude Code v2.1.89
- Claude Code v2.1.59
- Claude Code v2.1.2
- Claude Code v2.1.128
- Claude Code v2.1.111
- Claude Code v2.0.76
- Claude Code v2.1.12
- Claude Code v2.1.19
Report volume, not a defect count: an issue can mention a build without that build having caused the failure. Versions come from the version string in the bug-report template, matched against real published tags.
Do these get fixed?
Median time to close is 28 days across 344 closures. Of the 344 closures with a recorded reason, 15% were closed as completed and 293 as not-planned or duplicate. The most recent completed fix landed in 2026-08.
Workarounds reported by the community
128 of these issues post a workaround someone says worked. The highest-engagement ones:
- Sandbox: allow outbound connections to localhost
- …e of these settings allow the outbound connection. The only workaround is either on every bash call, or adding the command to , both of which defeat the purpose of the sandbox. Requested feature A sandbox setting that al…
Found in the description of #28018 · still open - [BUG] Background tasks ignore $TMPDIR and hardcode /tmp/claude/
- To work around this problem, I did this: This is the version with the bug. First thing, disable auto update by adding this to : If you are still on version 2.0.76 you're good. If you are on 2.1.1 then you also have to do…
Found in the thread of #15700 · resolved - [BUG] claude-code for Windows is NOT available due to its port
- I had this error too. you can avoid it by patching the file and replacing the with a lower port, e.g. <img width="542" height="201" alt="Image" src=" /
Found in the thread of #3402 · resolved - Sandboxed Bash intermittently fails: apply-seccomp: unshare(CLONE_NEWUSER): Invalid argument
- …thread , if the helper's entry point can run early enough. Workarounds, for anyone else hitting this What we shipped: a small wrapper early on that rewrites the prefix to run under first. util-linux is single-threaded,…
Found in the description of #86928 · still open - [Feature Request] Multi-account/profile support with CLI flags
- …in to switch accounts - Use the web version for one account as a workaround Requested feature: Native support for multiple accounts/profiles, similar to how Chrome handles different Google accounts. Ideally: 1. Ability t…
Found in the description of #19722 · resolved
Excerpts are quoted from the linked issue so you can judge relevance before opening it. Threads that only ask for a workaround, or report that there is none, are excluded. These are community suggestions, not official guidance from Anthropic — read the full thread before applying one.
Matching issues 1–100
Ranked by community engagement (reactions weighted over comments). Listing the top 300 of 415 matches; the statistics above cover all 415.
- Sandbox: allow outbound connections to localhost
- [BUG] Background tasks ignore $TMPDIR and hardcode /tmp/claude/
- [FEATURE] Linux (bwrap): Add allowUnixSockets / allowAllUnixSockets equivalent for seccomp BPF
- [Bug] Anthropic API Error: Invalid message format with thinking blocks
- [BUG] Bash safety classifier intermittently unavailable on claude-opus-4-7, blocks tool calls
- [BUG] claude-code for Windows is NOT available due to its port
- Sandboxed Bash intermittently fails: apply-seccomp: unshare(CLONE_NEWUSER): Invalid argument
- [Feature Request] Multi-account/profile support with CLI flags
- [Bug] Alt+M keyboard shortcut does not activate planning mode
- additionalDirectories setting does not grant Read tool access to files outside project
- [BUG] Error: kill EPERM
- /login shows "Login successful" but immediately reverts to "Not logged in"
- [FEATURE] Add path-scoped Unix socket creation (bind) support in sandbox
- [Bug] 2.1.69 TUI hangs on Windows due to config directory creation failure (EEXIST)
- EACCES permission denied on /tmp/claude/* on Android/Termux
- Task agent fails on Termux: EACCES permission denied for /tmp/claude
- [BUG] macOS sandbox blocks `bind()` on Unix domain sockets for child processes, breaking `dotnet build` parallelism
- [Bug] tmux pane spawning fails in GitBash with tmux enabled
- [Bug] Incorrect keyboard shortcuts and non-functional Alt+M planning mode toggle
- [BUG] can not add marketplace on windows
- [BUG] Claude Code Desktop MacOS can't find git , but git is installed
- Race condition: .claude.json corruption on Windows with concurrent sessions loses all session settings
- [BUG] /tmp/claude path collision on shared HPC/multi-user systems
- [Feature Request] Add side-by-side diff display in terminal output
- [Bug] Persistent Read Permissions Prompt and Auto-Edit Functionality Failure
- [Bug] Anthropic API Error: Internal Server Error (500)
- cannot send any message, error 500 (San Francisco Mission)
- [BUG] Claude Code crashes with "exited with code 1" on multi-user macOS due to shared /tmp/claude-settings-<hash>.json
- Cowork VM: HCS 0x80070005 (Access Denied) on Win11 25H2 - MSIX SYSTEM ACL missing
- [Bug] Sibling tool call errored regression since v2.1.19
- EACCES: permission denied on Termux/Android - hardcoded /tmp path ignores $TMPDIR
- tmpclaude-xxxx-cwd are left littering project
- [Suggestion] Alternative for per-user NPM configuration so that `claude` does not want user to install into `/usr` as superuser.
- Desktop rewind fails on conversation-only sessions: not on active chain (chain size 2/N)
- You've hit your limit · resets 11pm (America/Anchorage)
- Image Upload Exceeds Size Limit: Base64 Image Too Large (6.2 MB > 5 MB)
- [BUG] 2.1.216 sandbox regression: "bwrap: Can't mkdir /opt/.claude" — ancestor-walk denyWrite mountpoints fail-closed on non-root installs under root-owned dirs
- [BUG] Remote SSH sessions fail with EACCES on shared Linux host — /tmp/claude-settings-<static-hash>.json collision between users
- [Bug] Claude Code hangs indefinitely on Windows PowerShell until keyboard input
- Background agents fail on Termux - hardcoded /tmp path
- [Bug] /clear Command Fails to Actually Reset Conversation Context
- Agent Discovery Failure: Generated Agents Not Recognized or Loadable
- [BUG] Claude crashed while running a bash command
- [BUG] macOS: Claude Desktop can't run hooks/git in TCC-protected folders (~/Documents) — `disclaimer` disclaims TCC responsibility, git getcwd() → "Operation not permitted"
- You've hit your limit · resets 10pm (Europe/Istanbul)
- [BUG] [Linux] Bundled ripgrep binary missing execute permission — silently breaks all user commands/skills
- [Bug] Unhandled Promise Rejection in Async Functions 2.1.1
- Crash: EPERM error when killing background shell process
- [Tahoe 26.x] terminal process tree EPERM in ~/Documents — root cause analysis & data
- [BUG] Claude Code crashes on Windows Enterprise - EPERM: operation not permitted, uv_spawn 'reg'
- [Bug] Claude in Chrome tool not available despite extension installed
- [FEATURE] Better error messages for tools (some existing ones are generic and or misleading)
- [BUG] EPERM on long commands still crashing Claude Code
- Missing Tool Result Block for Tool Use ID
- [Bug] Claude Code fails to launch with EPERM error on macOS
- [BUG] Sandbox fails inside Docker containers: nested user namespace in apply-seccomp causes EACCES on /proc/self/setgroups
- [BUG] Your account does not have access to Claude Code. Please run /login.
- Cowork: launch virtiofsd with cache=none on workspace mounts to fix stale .git/index.lock
- Edit/Write tools fail with EPERM on Windows drive root paths (e.g. D:\)
- [Bug] Escape key not working in /status submenu on Ubuntu
- Windows: .claude.json corruption from concurrent writes causes repeated OAuth login
- Windows: Silent crash due to unbounded screen buffer with blit=0 (100% full redraws) on CMD + Windows Terminal
- URGENT: My claude.code terminal crashed again: Usafe limits exhaused.. 2.1.2 is totally unstable
- [BUG] Sandbox permission error after update: EACCES permission denied mkdir /tmp/claude/.../tasks
- [Bug] Security Vulnerability: Permissions Bypass via ExitPlanMode Workflow Exploit
- Installation Failure on Windows - Unsupported OS Error
- Sandbox fails to arm: apply-seccomp setgroups EPERM in initial userns unless allowAllUnixSockets:true (2.1.220)
- [BUG] Edit/Write fail with "ENOENT: fchmod" on VM shared-folder drives when the target file already exists
- EPERM error after update to 2.1.193
- WorktreeCreate hook fails with EPERM for repos under ~/Documents — hook spawned via 'disclaimer' shim loses the app's TCC Documents grant
- [Bug] Linked worktree sandbox auto-allow missing main .git directory and denyWithinAllow paths off-by-one
- [BUG] \u in Windows path is interpreted as Unicode escape sequence, corrupting file paths for usernames starting with u followed by hex digits
- You've hit your limit · resets 1am (Europe/London)
- [BUG] sandbox: allowAllUnixSockets does not cover network-bind — tsx and other IPC servers fail with EPERM
- [BUG] Claude Code sets ~/.claude.json to read-only (444), then hangs on startup because it can't write to it
- [BUG] "ReferenceError: Bun is not defined" fires repeatedly on Windows (npm install), causes crashes
- [Bug] Screen flickering persists in version 2.1.17
- Background task fails with EPERM when user lacks write access to drive root
- Atomic write to ~/.claude/settings.json fails with EROFS/EACCES when the file is a symlink-to-a-symlink
- Sandbox masks nonexistent deny-listed paths as unreadable device nodes - breaks plain git whenever `extensions.worktreeConfig` is enabled
- [BUG] Cowork sandbox: unlink(2) returns EPERM on owned files, breaks .git lock cleanup
- [BUG] Edit/Write tools fail with EPERM on Windows drive root paths (e.g. D:\)
- [Bug] Agent executes destructive database operations without confirmation, causing data loss
- Bundled ripgrep binary loses execute permission on macOS (breaks command/skill discovery)
- [Windows] Background agent output file stays 0 bytes due to symlink permission failure
- [Bug] Concurrent config writes corrupt `.claude.json` on Windows startup
- [Bug] Context window depleting rapidly after minimal git commands
- [BUG] Claude Code bash tool fails on HPC/SLURM compute nodes
- [Bug] Plugin installation installs all skills instead of selected plugin only
- [Bug] Ctrl+C unable to interrupt long-running Bash commands
- Task tool subagent spawning ignores TMPDIR, hardcodes /tmp/claude/
- [Bug] 80% usage in 2 days - Rate limit usage display shows incorrect percentage for current week/session - Max x20 $200/mo
- [BUG] Termux: Background tasks fail with malformed path - HOME sanitization breaks on deep paths
- [BUG] Error: EPERM: operation not permitted, uv_cwd
- [BUG] Desktop WSL session: NO_INSTALL_RESULT because installer writes remote server binary as root without exec bit
- [Bug] Claude Code Desktop crashes with EPERM error after Fable 5 suspension
- [BUG] Cowork VHDX placement fails with ELOOP on Intel RST VMD Controller 467F — distinct from EXDEV, bash permanently broken since v1.8089.1
- [Bug] Claude Code exits with code 1 when inline --settings temp file in /tmp is owned by another user
- Desktop SSH: ccd-cli /tmp/claude-settings-{hash}.json permission collision in multi-user hosts causes exit 1
- [BUG] Claude commands fail with EACCES permission denied error when creating files