Skip to content

Codex CLI v0.120.0 (Rust) hangs at _dyld_start on macOS 26.4.1 Tahoe — Gatekeeper/AppleSystemPolicy blocks Homebrew Cask binary #17447

@g-taki

Description

@g-taki

Update (2026-04-12): Original diagnosis was incorrect — the issue is not about code signing format but about missing Apple notarization + macOS 26's persistent quarantine database. Not version-specific (both v0.119.0 and v0.120.0 work when downloaded directly). See my follow-up comment for revised root cause and fix.

What version of Codex is running?

codex-cli 0.120.0 (Rust rewrite, installed via Homebrew Cask)

What subscription do you have?

Plus

Which model were you using?

N/A — binary never launches

What platform is your computer?

macOS 26.4.1 Tahoe (Build 25E253), Mac mini, Apple Silicon

What issue are you seeing?

The Codex CLI binary installed via brew install --cask codex hangs indefinitely on launch. The process gets stuck at _dyld_start — the dynamic linker never loads a single library. No output, no error, no Gatekeeper dialog (accessed via SSH).

Diagnosis:

  • sample shows 100% of samples stuck at _dyld_start (in dyld) + 0
  • DYLD_PRINT_LIBRARIES=1 produces zero output — no libraries loaded
  • spctl --assess --type execute returns: rejected (the code is valid but does not seem to be an app)
  • com.apple.provenance xattr is present (SIP-protected, cannot be removed)
  • The binary is validly signed but macOS AppleSystemPolicy silently kills it before dyld completes

Workaround:

Copying the binary to a new location strips com.apple.provenance, then ad-hoc re-signing makes it work:

cp /opt/homebrew/Caskroom/codex/0.120.0/codex-aarch64-apple-darwin /tmp/codex-clean
codesign --force --sign - /tmp/codex-clean
/tmp/codex-clean --version  # works: codex-cli 0.120.0

The original binary at the Caskroom path never works regardless of xattr -d com.apple.quarantine or codesign --force -s - in place.

What steps can reproduce the bug?

  1. brew install --cask codex on macOS 26.4.1 Tahoe (25E253)
  2. codex --help — hangs indefinitely, no output
  3. Over SSH, no Gatekeeper dialog appears; the process is silently blocked

What is the expected behavior?

The binary should launch normally after Homebrew installation.

Additional information

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLIbugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions