openai / openai/codex-plugin-cc

/codex:review hangs indefinitely on xcode/XcodeListWindows MCP call

Open
#250 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
33.3k
Forks
2.3k
PR merge metrics
No merged PRs in 30d

Description

Summary

/codex:review (run via codex-companion.mjs) calls the xcode/XcodeListWindows MCP tool and then hangs indefinitely. The tool call never logs a completion event and the review never finishes — the job stays in "running" / "investigating" until it's manually cancelled. Repro'd twice in a row on the same project.

Environment

  • Codex plugin: openai-codex/codex/1.0.4
  • Claude Code CLI
  • macOS with Xcode 26.4.1 (Apple's built-in MCP server registered via xcrun mcpbridge — i.e. the xcode/* MCP, not the third-party xcodebuildmcp/*)
  • Project: SwiftUI iOS app

Repro

/codex:review --base <sha>

Review progresses normally through many xcodebuildmcp/* tool calls (all complete in < 1 s each). At some point it calls xcode/XcodeListWindows and stalls. No completion event is ever logged.

Log excerpt

[21:17:13.523Z] Command completed: git show ... KidsBookAI/ContentView.swift (exit 0)
[21:18:25.543Z] Calling xcode/XcodeListWindows.
[nothing after — stuck 5+ minutes before I cancelled]

Every other tool call in the same run (both shell and xcodebuildmcp/*) completed fine. The hang is specific to the xcode/* MCP.

Impact

  • Review has to be killed manually via /codex:cancel <job-id>.
  • No partial review output is preserved, so the whole run has to start over.
  • Happens repeatedly, not a one-off.

Suggested fixes

  • Add a per-tool-call timeout / deadline in codex-companion.mjs so a hung MCP tool doesn't block the whole review indefinitely.
  • Optionally skip xcode/* tools (or expose a flag like --no-xcode-mcp) until Apple's upstream MCP stabilizes — the xcodebuildmcp/* alternative already covers build/sim needs.
  • Log a warning when a tool call exceeds some threshold (e.g. 60 s) so the user knows to cancel instead of waiting blind.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in codex-companion.mjs and reproduce /codex:review --base with the Apple xcode/XcodeListWindows MCP available. Trace the MCP tool-call lifecycle and its completion handling, then verify that a stalled call is bounded by a deadline, emits a useful warning, and does not leave the review running indefinitely.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
cli, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.