Why Sandbox Codex?
Codex is designed to inspect code, execute tools, and persist local state. Without isolation:- It could read files outside the repository you meant to expose
- A prompt injection or tool mistake could modify unrelated files on the same machine
- Long-lived local state could become a path for broader access than the current task needs
Quick Start
- Read+write access to the current working directory
- Read+write access to
~/.codex(config, auth state, sessions, caches, and local metadata) - Read access to common user-local runtime paths for Rust, Node.js, Python, and Nix toolchains
- Network access enabled
- Interactive mode enabled for the terminal UI
Custom Profile
Create~/.config/nono/profiles/codex.json if you want different permissions:
Custom profiles with the same name override the built-in profile. Remove or rename the file to revert to the built-in version.
Security Tips
Restrict to a Specific Project
The built-in profile grants access to the directory you run Codex from. To pin access to a specific repository:Read-Only Workspace
If you want Codex to keep its local state but not modify the repository:Block Network for Local-Only Work
If you want to inspect local code without allowing outbound access:Use Network Filtering
If you want Codex limited to the built-in host allowlist for coding workflows:Additional Home-Directory Tools
The built-in profile covers common Rust, Node.js, Python, and Nix runtime locations under~/, but some developer tools still install into other home-directory paths such as ~/go/bin or ~/.bun/bin.
If a tool exists on your PATH but Codex cannot launch it inside the sandbox, grant read access to the specific path entry: