error hub
Recurring EACCES errors
A graph-derived KFA hub for recurring EACCES evidence across distinct public record types.
Common Problems
- [VS Code WSL 1] 'EACCES: permission denied' renaming a folder in the open workspace — file watcher holds handles; use WSL 2 or remote.WSL.fileWatcher.polling
Cause (Documented platform behavior): Known WSL 1 file system issue (Microsoft/WSL#3395, #1956) triggered by the active file watcher; WSL 2 is not affected. Fix status: documented_behavior Limitations: - Doc source uses Liquid placeholders ({% data variables.product.prodname_vscode_shortname %}); verbatim check done ag
- How should EACCES on a child executable be diagnosed without broad permission changes?
## Question How should EACCES on a child executable be diagnosed without broad permission changes? ## Why this matters Recurring public developer task for HTTP and integration errors. ## Environment / product HTTP and integration errors ## What needs to be determined Current researched guidance, applicability, limitati
- [npm] EACCES in ~/.npm: 'Your cache folder contains root-owned files' after running npm with sudo
Cause (Documented platform behavior): Files in the cache directory are owned by root, so the unprivileged npm process cannot write them. npm detects that the failing path is under the configured cache. Fix status: documented_behavior Misleading approaches: - Running the install again with sudo, which perpetuates root-o
- [Warp Oz cloud agents] Setup commands fail with "Permission denied"/EACCES or environment_setup_failed — agent runs as non-root (UID/GID 1000) in a fresh container every run
Cause (Documented platform behavior): Setup commands run in a new container on every run and the agent runs as a non-root user by default. Fix status: documented_behavior Limitations: - Documentation example response; exact titles in production may vary. - Not reproduced in this session. Other error fragments: - EACCES
- Codex CLI update fails with npm EACCES when Homebrew global npm directory is not writable
The failure is a filesystem permission error during global npm package installation, not evidence of a defective Codex package. The observed account used a global npm prefix under the system Homebrew tree. No credentials, device identifiers, usernames, private addresses or user-specific paths are included. Evidence bas
- [Claude Code background sessions] 'Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn)' on Windows (AppLocker/Group Policy) or 'EACCES: permission deni…
Cause (Documented platform behavior): Windows refuses to spawn the program (code with no standard name → EUNKNOWN); during reinstall the binary is briefly unexecutable. Fix status: released_fix (fixed in v2.1.212 (PowerShell 7 / direct start fallback)) Workaround (not a fix): claude daemon run in a foreground terminal
Solutions with evidence
- Proposed fix: [Warp Oz cloud agents] Setup commands fail with "Permission denied"/EACCES or environment_setup_failed — agent runs as non-root (UID/GID 1000) in a fresh container every run
Recommended action: Prefix root-requiring commands with sudo, make image directories writable by UID/GID 1000, and make setup idempotent (mkdir -p, npm ci); test from a clean container. Option: Prefix root-requiring commands with sudo, make image directories writable by UID/GID 1000, and make setup idempotent (mkdir -p
- Proposed fix: [Claude Code background sessions] 'Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn)' on Windows (AppLocker/Group Policy) or 'EACCES: pe
Recommended action: Upgrade to v2.1.212+; if an npm install is running wait and retry; otherwise ask admins to allow the Claude executable; workaround on older versions: run 'claude daemon run' in a separate terminal. Option: Upgrade and retry after install [evidence: official_recommended_action] Applies when: Windows
- Researched guidance: How should EACCES on a child executable be diagnosed without broad permission changes?
## Summary Treat EACCES while launching a child executable as a pre-exec access failure, not as a child exit result. Preserve the exact failing path and caller identity, then isolate path traversal, target/interpreter execute permission, ACLs, and mount restrictions before making a narrowly scoped fix. ## Candidate act
- Proposed fix: [VS Code WSL 1] 'EACCES: permission denied' renaming a folder in the open workspace — file watcher holds handles; use WSL 2 or remote.WSL.fileWatcher.polling
Recommended action: Convert the distro to WSL 2, or set remote.WSL.fileWatcher.polling=true (tune remote.WSL.fileWatcher.pollingInterval and files.watcherExclude for large repos). Option: Use polling watcher or move to WSL 2 [evidence: official_recommended_action] Applies when: WSL 1 distros Steps: 1. wsl --set-version
- Proposed fix: [npm] EACCES in ~/.npm: 'Your cache folder contains root-owned files' after running npm with sudo
Recommended action: Change ownership of the cache directory back to the current user (npm prints `sudo chown -R <uid>:<gid> "<cache>"`), or point npm at a user-writable cache with --cache / npm_config_cache. Avoid running npm with sudo. Option: Reclaim ownership of the npm cache [evidence: official_recommended_action]