Skip to content

EACCES: permission denied on /sandbox/.openclaw/identity/device-auth.json — curl install on Linux (no sudo in sandbox) #692

@ntokozo-k

Description

@ntokozo-k

Description

Environment

  • OS: Linux
  • Install method: curl installer (native)
  • User inside sandbox: sandbox
  • OpenClaw config sourced from: /home/user/.openclaw/

Description

After installing nemoclaw via the curl installer, the openclaw TUI fails to
connect with a persistent permission error on the identity directory. The
installer writes /sandbox/.openclaw/identity/ owned by root, but openclaw
runs as the sandbox user which has no write access.

Error output

openclaw tui - ws://127.0.0.1:18789 - agent main - session main
connecting | idle
gateway disconnected: connect failed | idle
gateway disconnected: connect failed | idle
gateway connect failed: Error: EACCES: permission denied, open '/sandbox/.openclaw/identity/device-auth.json'

File structure of /sandbox/.openclaw/

drwxrwxrwt 1 root root 4096 Mar 22 05:42 .
drwxr-xr-x 1 sandbox sandbox 4096 Mar 22 05:47 ..
lrwxrwxrwx 1 root root 30 Mar 21 13:45 agents -> /sandbox/.openclaw-data/agents
drwxr-xr-x 2 sandbox sandbox 4096 Mar 22 05:42 canvas
drwxr-xr-x 2 sandbox sandbox 4096 Mar 22 05:42 cron
drwxr-xr-x 2 sandbox sandbox 4096 Mar 22 21:19 devices
lrwxrwxrwx 1 root root 34 Mar 21 13:45 extensions -> /sandbox/.openclaw-data/extensions
lrwxrwxrwx 1 root root 29 Mar 21 13:45 hooks -> /sandbox/.openclaw-data/hooks
drwxr-xr-x 1 root root 4096 Mar 21 13:49 identity ← root owned, sandbox cannot write
-r--r--r-- 1 root root 1183 Mar 21 13:49 openclaw.json ← read-only for all users
lrwxrwxrwx 1 root root 30 Mar 21 13:45 skills -> /sandbox/.openclaw-data/skills
-rwxr-xr-x 1 sandbox sandbox 49 Mar 22 05:42 update-check.json
lrwxrwxrwx 1 root root 33 Mar 21 13:45 workspace -> /sandbox/.openclaw-data/workspace

OpenClaw Completion
source "/home/user/.openclaw/completions/openclaw.bash"

Root cause

The curl installer creates /sandbox/.openclaw/identity/ owned by root,
but openclaw runs as the sandbox user (no sudo available inside the sandbox).
There is also a user mismatch — the installer ran as user but the runtime
user is sandbox.

What I tried

  • chown -R $(whoami):$(whoami) /sandbox/.openclaw → Operation not permitted
  • sudo is not available inside the sandbox environment
  • Env var override OPENCLAW_HOME=~/.openclaw nemoclaw → did not redirect identity path

Expected behavior

The curl installer should either:

  1. Create /sandbox/.openclaw/identity/ with the correct ownership for the runtime user, or
  2. Respect an OPENCLAW_HOME or OPENCLAW_CONFIG_DIR env var to redirect all config paths including identity

Reproduction Steps

Steps to Reproduce

  1. Provision a Linux sandbox environment (e.g. Docker container running as user sandbox)
  2. Run the nemoclaw curl installer inside the sandbox:
    curl -fsSL https://nemoclaw.ai/install.sh | bash
  3. Confirm install completed and .bashrc contains:
    source "/home/user/.openclaw/completions/openclaw.bash"
  4. Launch the openclaw TUI:
    nemoclaw
  5. Observe repeated connection failures in the TUI output

Expected Result

TUI connects successfully and openclaw authenticates the device

Actual Result

connecting | idle
gateway disconnected: connect failed | idle
gateway disconnected: connect failed | idle
gateway connect failed: Error: EACCES: permission denied, open '/sandbox/.openclaw/identity/device-auth.json'

Verification

Run the following to confirm the permission/ownership mismatch:
whoami

returns: sandbox
ls -la /sandbox/.openclaw/

identity dir and openclaw.json are owned by root:
drwxr-xr-x 1 root root 4096 identity
-r--r--r-- 1 root root 1183 openclaw.json
sudo chown -R (whoami):(whoami):
(whoami):(whoami) /sandbox/.openclaw

returns: Operation not permitted (sudo blocked inside sandbox)

Notes

  • sudo is not available inside the sandbox
  • Env var workaround OPENCLAW_HOME=~/.openclaw nemoclaw does not redirect the identity path
  • Installer user (user) differs from runtime user (sandbox) — possible secondary issue

Environment

  • OS: Linux
  • Nodejs: v22.22.1

Debug Output

Logs

Checklist

  • I confirmed this bug is reproducible
  • I searched existing issues and this is not a duplicate

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstatus: triageFor new items that haven't been reviewed yet.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions