Computer Use 1.0.1000366: SkyComputerUseService SIGTRAP on exact-path SwiftUI accessibility capture
Summary
On ChatGPT Desktop 26.707.41301 with bundled Computer Use plugin 1.0.1000366, SkyComputerUseService reproducibly crashes with EXC_BREAKPOINT / SIGTRAP when get_app_state targets an exact-path SwiftUI macOS app. Finder capture succeeds immediately beforehand. The failure occurs while the sole live helper is the Desktop-managed runtime with matching signed identity; no plugin-cache fallback or DYLD compatibility failure is involved.
This appears related to #28933, but this reproduction additionally isolates helper routing and duplicate target-app installations.
Environment
- macOS 26.5.2 (25F84)
- ChatGPT Desktop 26.707.41301 (5103)
- bundled Computer Use plugin 1.0.1000366
SkyComputerUseService26.708.1000366 (1000366)- helper Team ID:
2DC432GLL2 - target: Vocello / QwenVoice, SwiftUI macOS app
Controlled reproduction
- Restart ChatGPT Desktop and open a fresh Codex task.
- Enable the bundled Computer Use plugin and Node REPL.
- Load the plugin-owned
computer-use-client.mjswrapper. - Call
sky.list_apps(). - Verify exactly one
SkyComputerUseServiceprocess is running from:
$HOME/.codex/computer-use/Codex Computer Use.app/Contents/MacOS/SkyComputerUseService
- Verify the Desktop-managed runtime, ChatGPT-bundled source, and installed plugin-cache source match on bundle ID, version/build, signing team, designated requirement, code-sign validity, and executable SHA-256.
- Call:
``js``
await sky.get_app_state({
app: "/System/Library/CoreServices/Finder.app",
disableDiff: true
})
Finder returns accessibility text and a screenshot.
- Call exactly once:
``js``
await sky.get_app_state({
app: "<repo>/build/Vocello.app",
disableDiff: true
})
Expected
The exact-path app returns accessibility text and a screenshot while the same Desktop-managed helper remains alive.
Actual
The call fails after several seconds with:
Sky Computer Use native pipe closed before response
A new SkyComputerUseService-*.ips report is generated. The helper exits and becomes an unreaped Desktop child. Exactly one target app process was launched from the requested absolute path; it was stopped afterward. No display-name or bundle-ID fallback was attempted.
The crash report contains:
EXC_BREAKPOINTSIGTRAP- faulting queue:
com.apple.root.user-initiated-qos.cooperative - multiple
AXNotificationObserverthreads, including observers for the exact target PID - no
OS_REASON_DYLD - no missing
_swift_task_addPriorityEscalationHandlersymbol
The latest crash frame is in the helper binary and is not symbolicated in the report.
Routing and identity evidence
At the start of the reproduction:
- service process count: 1
- routing status: expected
- Desktop-managed runtime running: true
- plugin-cache fallback running: false
- duplicate runtime detected: false
- unknown service path: false
- stale client set: false
- zombie children: 0
- source/runtime identity match: true
- executable SHA-256:
b47f564a5dee10fc8f21f6c8b2aee934b30ad04feee33746053253b3661df4e0
The Node REPL configuration exposes the versioned plugin-cache app through SKY_CUA_SERVICE_PATH, while this Desktop build runs the live managed helper from $HOME/.codex/computer-use. This reproduction did not use the plugin-cache fallback route.
Duplicate-app isolation
The machine originally had three Vocello products sharing com.qwenvoice.app: an installed release, a DerivedData release product, and the exact build/Vocello.app target.
For the second controlled reproduction:
- The installed and DerivedData bundles were physically moved into a hidden quarantine without deletion.
build/Vocello.appwas the only physical target left.- Computer Use's
list_apps()still returned three cached entries. - Finder capture passed.
- The first exact-path Vocello observation crashed the Desktop-managed helper with the same signature.
The quarantined apps were restored afterward. This shows that duplicate physical installations are not required to trigger the crash.
Additional observations
- Repeated authorization prompts were previously observed even though Accessibility and Screen & System Audio Recording were enabled.
- Two earlier plugin-cache launches produced the same
EXC_BREAKPOINT / SIGTRAPclass, but the controlled Desktop-managed reproduction shows fallback routing is not a necessary cause. - Raw crash reports are not attached because they contain local paths. A sanitized excerpt or full report can be provided if requested.
Requested behavior
Please investigate the accessibility-capture crash and expose it as a specific error rather than the generic inactive/native-pipe failure. It would also help to clarify:
- Whether exact-path targeting is expected to isolate multiple cached entries sharing a bundle identifier.
- The supported ownership contract between the plugin-cache source and the Desktop-managed runtime copy.
- Whether a symbolicated helper build or diagnostic mode can be provided for this crash class.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗