app-server panics in sandboxed environments (SCDynamicStore NULL object)
Resolved 💬 3 comments Opened Apr 1, 2026 by shimakazuhito-prog Closed Apr 11, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
Description
When running codex app-server inside a sandboxed environment (e.g., Claude Code sandbox on macOS), the process panics with the following error:
nice(5) failed: operation not permitted
thread 'main' panicked at system-configuration-0.6.1/src/dynamic_store.rs:154:1:
Attempted to create a NULL object.
Steps to Reproduce
- Install Claude Code CLI and the Codex plugin
- Run Claude Code inside Cursor IDE (or any sandboxed environment on macOS)
- Invoke a Codex command (e.g.,
/codex:rescue) which triggerscodex app-server
Expected Behavior
app-server should gracefully handle restricted system API access (e.g., SCDynamicStore, nice()) instead of panicking, or provide a clear error message indicating sandbox incompatibility.
Actual Behavior
The process panics due to SCDynamicStore returning NULL when system configuration access is restricted by the sandbox. The nice(5) call also fails with "operation not permitted".
Environment
- codex-cli 0.117.0
- macOS Darwin 25.3.0 (Apple Silicon)
- Running inside Claude Code (Cursor IDE integration) with sandbox enabled
- Node.js v22.17.1
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Same underlying bug on a different entry point.
Environment:
Repro in the same outer sandbox:
codex exec "hi"codex login statusBoth panic with the same core failure:
I also see the related
nice(5) failed: operation not permittedsymptom.Two useful additions to this thread:
app-server. It also affectscodex execandcodex login status, so the blast radius is broader than a single subcommand.login statuscrash can create a false-negative auth diagnosis, because wrappers may conclude that subscription auth is missing when the command actually panicked before reporting status.Local workaround that restores functionality inside the outer sandbox:
After regenerating the sandbox profile,
codex execandcodex login statuswork again.This looks consistent with the same macOS SystemConfiguration / proxy-detection initialization path discussed in related reports like #16908. From the outside, it still looks like Codex needs a structural fallback here rather than a fix tied to one entry point.
This should be fixed in the latest release (0.119.0 or newer).