-
-
Notifications
You must be signed in to change notification settings - Fork 227
Description
Bug Description
I'm trying to understand how to use the new code coverage support. But me and Codex 5.3 struggled quite a bit.
- How to use --extra-args from CLI took time to figure out (syntax)
- -resultBundlePath argument can't be used to override xcresult path to something the agent then can use for the new coverage tools. This is due to XcodeBuildMCP always adding it internally and then the arg will be passed twice to xcodebuild, which then complains about that.
- If xcodebuildmcp passes it's own tmp dir to -resultBundlePath this should be accessible and usable for the code coverage tool, but how do I get the path? And wouldn't it be nice, if I could choose not to pass a path and xcodebuildmcp would use the latest tmp result bundle path?
My agent decided for now to run xcodebuild directly and then only using xcodebuildmcp for the coverage tool.
Either my agent and me don't know how to do things correctly or there's unnecessary friction in the test -> get coverage workflow.
xcodebuildmcp simulator test --extra-args='-enableCodeCoverage' --extra-args='YES' --extra-args='-resultBundlePath' --extra-args='Derived/Coverage/Coverage-2026-03-18-15:46.xcresult'
❌ [stderr] 2026-03-18 15:53:29.508 xcodebuild[63698:12509554] Writing error result bundle to /var/folders/8z/bv_18jn513gfc4bjl0165ts00000gn/T/ResultBundle_2026-18-03_15-53-0029.xcresult
❌ [stderr] xcodebuild: error: option '-resultBundlePath' may only be provided once
Debug Output
XcodeBuildMCP Doctor
Generated: 2026-03-18T08:10:26.248Z
Server Version: 2.3.0
Output Mode: Redacted (default)
## System Information
- platform: darwin
- release: 24.6.0
- arch: arm64
- cpus: 14 x Apple M4 Pro
- memory: 48 GB
- hostname: <redacted>
- username: <redacted>
- homedir: /Users/<redacted>
- tmpdir: /var/folders/8z/bv_18jn513gfc4bjl0165ts00000gn/T
## Node.js Information
- version: v25.7.0
- execPath: /Users/<redacted>/.local/share/mise/installs/node/25.7.0/bin/node
- pid: 68293
- ppid: 68236
- platform: darwin
- arch: arm64
- cwd: /Users/<redacted>/Developer/<redacted>
- argv: /Users/<redacted>/.local/share/mise/installs/node/25.7.0/bin/node /Users/<redacted>/.npm/_npx/99336612077b7094/node_modules/.bin/xcodebuildmcp-doctor
## Process Tree
- Running under Xcode: ❌ No
- 68293 (ppid 68236): node — node /Users/<redacted>/.npm/_npx/99336612077b7094/node_modules/.bin/xcodebuildmcp-doctor
- 68236 (ppid 92761): npm — exec xcodebu npm exec xcodebuildmcp-doctor
- 92761 (ppid 92736): -/bin/zsh — -/bin/zsh
- 92736 (ppid 92562): /usr/bin/login — /usr/bin/login -flp <redacted> /bin/bash --noprofile --norc -c exec -l /bin/zsh
- 92562 (ppid 1): /Applications/Gh — /Applications/Ghostty.app/Contents/MacOS/ghostty
- 1 (ppid 0): /sbin/launchd — /sbin/launchd
## Xcode Information
- version: Xcode 26.3 - Build version 17C529
- path: /Applications/Xcode-26.3.0.app/Contents/Developer
- selectedXcode: /Applications/Xcode-26.3.0.app/Contents/Developer/usr/bin/xcodebuild
- xcrunVersion: xcrun version 72.
## Dependencies
- axe: ✅ v1.5.2
- mise: ✅ 2026.2.19 macos-arm64 (2026-02-22)
## Environment Variables
- INCREMENTAL_BUILDS_ENABLED: (not set)
- DEVELOPER_DIR: (not set)
- HOME: /Users/<redacted>
- USER: <redacted>
- TMPDIR: /var/folders/8z/bv_18jn513gfc4bjl0165ts00000gn/T/
- NODE_ENV: (not set)
- SENTRY_DISABLED: (not set)
- AXE_PATH: (not set)
- XBMCP_LAUNCH_JSON_WAIT_MS: (not set)
- XCODEBUILDMCP_DEBUGGER_BACKEND: (not set)
- XCODEBUILDMCP_UI_DEBUGGER_GUARD_MODE: (not set)
- XCODEBUILDMCP_RUNTIME: cli
- XCODEBUILDMCP_SILENCE_LOGS: true
### PATH
/Users//.npm/_npx/99336612077b7094/node_modules/.bin
/Users//Developer//node_modules/.bin
/Users//Developer/node_modules/.bin
/Users//node_modules/.bin
/Users//.bin
/node_modules/.bin
/Users//.local/share/mise/installs/npm/11.11.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin
/Users//.bun/bin
/Users//.local/share/mise/installs/tuist/4.150.0/bin
/Users//.local/share/mise/installs/npm/11.11.0/bin
/Users//.local/share/mise/installs/node/25.7.0/bin
/Users//.local/share/mise/installs/ruby/3.4.7/bin
/Users//.local/share/mise/installs/github-tuist-argus/0.4.3
/Users//.local/share/mise/installs/python/3.14.2/bin
/Users//.local/bin
/Applications/Sublime Text.app/Contents/SharedSupport/bin
/opt/homebrew/bin
/opt/homebrew/sbin
/usr/local/bin
/System/Cryptexes/App/usr/bin
/usr/bin
/bin
/usr/sbin
/sbin
/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin
/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin
/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
/Library/Apple/usr/bin
/Applications/Ghostty.app/Contents/MacOS
## Feature Status
### UI Automation (axe)
- Available: ✅ Yes
- UI Automation Supported: ✅ Yes
- Simulator Video Capture Supported (AXe >= 1.1.0): ✅ Yes
- UI-Debugger Guard Mode: error
### Incremental Builds
- Enabled: ❌ No
- xcodemake Binary Available: ❌ No
- Makefile exists (cwd): (not checked: incremental builds disabled)
### Mise Integration
- Running under mise: ❌ No
- Mise available: ✅ Yes
### Debugger Backend (DAP)
- lldb-dap available: ✅ Yes
- Selected backend: dap
### Manifest Tool Inventory
- Total Unique Tools: 82
- Workflow Count: 16
- coverage: 2 tools
- debugging: 8 tools
- device: 17 tools
- doctor: 1 tools
- logging: 4 tools
- macos: 13 tools
- project-discovery: 5 tools
- project-scaffolding: 2 tools
- session-management: 5 tools
- simulator-management: 8 tools
- simulator: 23 tools
- swift-package: 8 tools
- ui-automation: 11 tools
- utilities: 1 tools
- workflow-discovery: 1 tools
- xcode-ide: 5 tools
### Runtime Tool Registration
- Enabled Workflows: 0
- Registered Tools: 0
- Note: Runtime registry unavailable.
### Xcode IDE Bridge (mcpbridge)
- Workflow enabled: ❌ No
- mcpbridge path: /Applications/Xcode-26.3.0.app/Contents/Developer/usr/bin/mcpbridge
- Xcode running: true
- Connected: ❌ No
- Bridge PID: (none)
- Proxied tools: 0
- Last error: (none)
- Note: Bridge debug tools (status/sync/disconnect) are only registered when debug: true
## Tool Availability Summary
- Build Tools: ✅ Available
- UI Automation Tools: ✅ Available
- Incremental Build Support: ❌ Not available
## Sentry
- Sentry enabled: ✅ Yes
## Troubleshooting Tips
- If UI automation tools are not available, install axe: `brew tap cameroncooke/axe && brew install axe`
- If incremental build support is not available, install xcodemake (https://github.com/cameroncooke/xcodemake) and ensure it is executable and available in your PATH
- To enable xcodemake, set environment variable: `export INCREMENTAL_BUILDS_ENABLED=1`
- For mise integration, follow instructions in the README.md file
Editor/Client
Codex macOS app
MCP Server Version
2.3.0
LLM
Codex 5.3 Extra High
MCP Configuration
Steps to Reproduce
Asked several prompts about code coverage, extra-args and how to override xcresult bundle
Expected Behavior
I can test and get coverage only via xcodebuildmcp
Actual Behavior
I need to invoke xcodebuild to avoid result bundle path issues.