Remote ChatGPT desktop tasks ignore writable_roots for new tasks

Open 💬 0 comments Opened Aug 21, 2026 by joenery

What version of the Codex App are you using (From “About Codex” dialog)?

26.819.11345

What subscription do you have?

enterprise

What platform is your computer?

Darwin 25.5.0 arm64 arm

What issue are you seeing?

Title: Remote ChatGPT desktop tasks ignore writable_roots for new tasks

Environment

  • ChatGPT/Codex desktop app on macOS connecting by SSH to a Linux host
  • Remote server: Codex app-server / code-mode host
  • Codex release: 0.147.0
  • A network filesystem mount is rw for the authenticated user over SSH

Config on the remote host (~/.codex/config.toml)

sandbox_mode = "workspace-write"

[sandbox_workspace_write]
writable_roots = [
"/path/to/runtime/database-directory",
]

Expected
Every newly created remote Codex task should receive rw access to the configured
additional writable root.

Actual
New ChatGPT desktop tasks run Bubblewrap with:
--ro-bind / /
--bind /path/to/runtime/database-directory
/path/to/runtime/database-directory

but inside those new tasks:
test -w /path/to/runtime/database-directory # false
test -w /path/to/runtime/database-file.sqlite3 # false
findmnt -T /path/to/runtime/database-directory # ro

The directory and database file are owned by the authenticated user and have
normal owner-write permissions. The same paths are writable over a normal SSH
session.

Restarting the remote app-server can make existing sessions see the directory
as rw, but newly created ChatGPT desktop tasks still receive it as ro.

What steps can reproduce the bug?

Expected
Every newly created remote Codex task should receive rw access to the configured
additional writable root.

Actual
New ChatGPT desktop tasks run Bubblewrap with:
--ro-bind / /
--bind /path/to/runtime/database-directory
/path/to/runtime/database-directory

but inside those new tasks:
test -w /path/to/runtime/database-directory # false
test -w /path/to/runtime/database-file.sqlite3 # false
findmnt -T /path/to/runtime/database-directory # ro

The directory and database file are owned by the authenticated user and have
normal owner-write permissions. The same paths are writable over a normal SSH
session.

Restarting the remote app-server can make existing sessions see the directory
as rw, but newly created ChatGPT desktop tasks still receive it as ro.

What is the expected behavior?

Expected
Every newly created remote Codex task should receive rw access to the configured
additional writable root.

Additional information

_No response_

View original on GitHub ↗