macOS x86_64: Codex CLI 0.142.5 SIGTRAP on gpt-5.6-sol shell tool call

Open 💬 2 comments Opened Jul 1, 2026 by shihchang

Summary

On macOS x86_64, Codex CLI 0.142.5 crashes with exit code 133 / SIGTRAP when using gpt-5.6-sol and the assistant starts a shell/tool call. The same machine works with gpt-5.5, and the same Codex CLI version works with gpt-5.6-sol on Oracle Linux.

Environment

  • Component: Codex CLI
  • Version: codex-cli 0.142.5
  • Install: Homebrew cask
  • Binary: /usr/local/Caskroom/codex/0.142.5/codex-x86_64-apple-darwin
  • macOS: 26.5.1 (25F80)
  • Kernel/arch: Darwin 25.5.0, x86_64
  • Hardware model from crash report: MacBookPro16,1
  • Terminal: Apple Terminal
  • Auth mode: ChatGPT
  • Model that crashes: gpt-5.6-sol
  • Model that works on same Mac/session: gpt-5.5

Reproduction

Run a tool-using prompt with gpt-5.6-sol, for example:

codex exec --ephemeral -m gpt-5.6-sol -C <repo> "Use the shell tool to run: printf 'CODEX_56_BASELINE_OK\n'. Then stop."

Observed output reaches the assistant message:

codex
Running that exact shell command now.

Then the child codex exec process exits with status 133.

The interactive TUI shows the same behavior: as soon as a tool call starts, Codex exits back to the shell. The terminal is left with bracketed-paste markers visible on paste (00~...01~), consistent with abrupt process termination before terminal mode cleanup.

Expected

The shell command should run and return tool output, as it does with gpt-5.5 on the same Mac and with gpt-5.6-sol on Linux.

Actual

Codex exits with:

codex_exit=133

On macOS, exit 133 maps to 128 + SIGTRAP.

Crash report evidence

macOS writes crash reports such as:

~/Library/Logs/DiagnosticReports/codex-x86_64-apple-darwin-2026-07-01-143504.ips

Key fields:

exception: EXC_BREAKPOINT / SIGTRAP
termination: SIGNAL, code 5, "Trace/BPT trap: 5"
procPath: /usr/local/Caskroom/codex/0.142.5/codex-x86_64-apple-darwin
faultingThread: V8 runtime thread

Relevant faulting stack frames:

v8::base::OS::SetPermissions(void*, unsigned long, v8::base::OS::MemoryPermission)
v8::internal::CodeRange::InitReservation(...)
v8::internal::Heap::SetUp(...)
v8::internal::Isolate::Init(...)
v8::Isolate::Initialize(...)
v8::Isolate::New(...)
v8::isolate::Isolate::new::...
codex_code_mode::runtime::spawn_runtime::...

Codex log evidence

~/.codex/logs_2.sqlite shows that gpt-5.6-sol emits a custom tool call:

Output item item=CustomToolCall {
  call_id: "call_MbXJrd2oDpkhdnzz6yZD2hh6",
  name: "exec",
  status: Some("in_progress")
}

After resume, Codex logs:

Custom tool call output is missing for call id: call_MbXJrd2oDpkhdnzz6yZD2hh6

With gpt-5.5, the same client/session uses the normal function-call path:

FunctionCall { name: "exec_command", ... }
ToolCall: exec_command ...

and tool calls complete.

Isolation already tried

All of these still exit 133 with gpt-5.6-sol:

codex exec --ephemeral -m gpt-5.6-sol ...
codex exec --ephemeral --disable unified_exec -m gpt-5.6-sol ...
codex exec --ephemeral --disable code_mode -m gpt-5.6-sol ...
codex exec --ephemeral --ignore-user-config --disable apps --disable plugins --disable tool_suggest --disable tool_call_mcp_elicitation -m gpt-5.6-sol ...

codex doctor --json reports the install/config/state/network as OK. It reports:

codexVersion: 0.142.5
runtime.provenance: running brew on macos-x86_64
updates.status: latest version 0.142.5
network.websocket_reachability: HTTP 101 Switching Protocols

The binary is signed by OpenAI and has the JIT entitlement:

Authority=Developer ID Application: OpenAI OpCo, LLC (2DC432GLL2)
com.apple.security.cs.allow-jit = true

Workaround

Use gpt-5.5 on this Mac for tool-using Codex sessions, or use gpt-5.6-sol on Linux.

Notes

This appears specific to the macOS x86_64 Codex CLI tool-call path used by gpt-5.6-sol. It does not reproduce with gpt-5.5 on the same Mac.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗