macOS startup panic when SystemConfiguration DNS state is unavailable
Resolved 💬 4 comments Opened Mar 20, 2026 by shawn-dsz Closed Mar 20, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
What version of Codex is running?
codex-cli 0.116.0
Which model were you using?
Default startup path; crash happens before interactive use
What platform is your computer?
macOS Darwin 25.1.0 arm64
What issue are you seeing?
codex panics on startup if macOS SystemConfiguration DNS state is unavailable.
In my case this happens when launching codex inside the Superset desktop app terminal. In that environment:
scutil --proxy
scutil --dns
returns:
<dictionary> {
}
No DNS configuration available
Then running:
codex
crashes with:
thread 'main' (...) panicked at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/system-configuration-0.6.1/src/dynamic_store.rs:154:1:
Attempted to create a NULL object.
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Steps to reproduce
- Launch a shell in an environment where macOS
SystemConfigurationDNS state is unavailable. - Confirm with:
scutil --dns
- Run:
codex
Expected behavior
Codex should not panic. It should either:
- continue without the reachability/DNS watcher, or
- emit a normal error explaining that macOS networking state is unavailable.
Actual behavior
Codex aborts with a panic from the system-configuration crate.
Additional context
codex --versionworks and printscodex-cli 0.116.0- The crash happens during full startup
- The same machine/user/install works normally in Warp, where
scutil --dnsreturns standard resolver info - This seems related to
SCDynamicStore/DynamicStoreinitialization returningNULL
4 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Closing as duplicate of #5914.
This reproduces the same macOS / panic, with an additional trigger detail: in the Superset terminal environment, DNS configuration
resolver #1
search domain[0] : tail92285c.ts.net
nameserver[0] : 100.100.100.100
if_index : 31 (utun5)
flags : Supplemental, Request A records, Request AAAA records
reach : 0x00000003 (Reachable,Transient Connection)
order : 100400
resolver #2
nameserver[0] : 111.220.1.1
nameserver[1] : 111.220.2.2
if_index : 14 (en0)
flags : Request A records
reach : 0x00000002 (Reachable)
order : 200000
resolver #3
domain : tail92285c.ts.net.
nameserver[0] : 100.100.100.100
if_index : 31 (utun5)
flags : Supplemental, Request A records, Request AAAA records
reach : 0x00000003 (Reachable,Transient Connection)
order : 100401
resolver #4
domain : local
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300000
resolver #5
domain : 254.169.in-addr.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300200
resolver #6
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300400
resolver #7
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300600
resolver #8
domain : a.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300800
resolver #9
domain : b.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 301000
DNS configuration (for scoped queries)
resolver #1
nameserver[0] : 111.220.1.1
nameserver[1] : 111.220.2.2
if_index : 14 (en0)
flags : Scoped, Request A records
reach : 0x00000002 (Reachable)
resolver #2
search domain[0] : tail92285c.ts.net
nameserver[0] : 100.100.100.100
if_index : 31 (utun5)
flags : Scoped, Request A records, Request AAAA records
reach : 0x00000003 (Reachable,Transient Connection) returns , while Warp on the same machine works normally.
Correction to my previous comment: closing as duplicate of #5914.
This reproduces the same macOS system-configuration / DynamicStore panic. The extra trigger detail here is that inside the Superset terminal environment,
scutil --dnsreturnsNo DNS configuration available, while Warp on the same machine works normally.Clarification: this was closed in favor of #15296, which is my other issue and now has the full repro details. This is not a duplicate from another reporter.