Skip to content

[Bug]: simulatorId being persisted in config file #230

@jorgealegre

Description

@jorgealegre

Bug Description

I have a shared configuration file for my team to work on the same project using Cursor and XcodeBuildMCP. I want to declare that we should all run on iPhone 17, but each team member will have different simulator IDs for an iPhone 17 simulator, so I just added simulatorName: iPhone 17 to the config file.

However, every time I interact with XcodeBuildMCP thru Cursor, the simulatorId is added to the config file and I end up having changes that I have to discard in my branch.

Debug Output

XcodeBuildMCP Doctor

Generated: 2026-02-18T18:59:58.574Z
Server Version: 2.0.7

System Information

  • platform: darwin
  • release: 25.3.0
  • arch: arm64
  • cpus: 12 x Apple M3 Pro
  • memory: 18 GB
  • hostname: alegre-mbp.local
  • username: jorge
  • homedir: /Users/jorge
  • tmpdir: /var/folders/qt/5lnnqrq159dgclfjxlg0sknc0000gn/T

Node.js Information

  • version: v24.13.0
  • execPath: /opt/homebrew/Cellar/xcodebuildmcp/2.0.7/libexec/node-runtime
  • pid: 32923
  • ppid: 32145
  • platform: darwin
  • arch: arm64
  • cwd: /Users/jorge/Developer/Citizen/ios
  • argv: /opt/homebrew/Cellar/xcodebuildmcp/2.0.7/libexec/node-runtime /opt/homebrew/Cellar/xcodebuildmcp/2.0.7/libexec/build/cli.js mcp

Process Tree

  • Running under Xcode: ❌ No
  • 32923 (ppid 32145): /opt/homebrew/Ce — /opt/homebrew/Cellar/xcodebuildmcp/2.0.7/libexec/node-runtime /opt/homebrew/Cellar/xcodebuildmcp/2.0.7/libexec/build/cli.js mcp
  • 32145 (ppid 31563): Cursor — Helper (P Cursor Helper (Plugin): extension-host (user) [1-1]
  • 31563 (ppid 1): /Applications/Cu — /Applications/Cursor.app/Contents/MacOS/Cursor
  • 1 (ppid 0): /sbin/launchd — /sbin/launchd

Xcode Information

  • version: Xcode 26.2 - Build version 17C52
  • path: /Applications/Xcode-26.2.0.app/Contents/Developer
  • selectedXcode: /Applications/Xcode-26.2.0.app/Contents/Developer/usr/bin/xcodebuild
  • xcrunVersion: xcrun version 72.

Dependencies

  • axe: ✅ v1.4.0
  • xcodemake: ❌ Not found
  • mise: ❌ Not found

Environment Variables

  • INCREMENTAL_BUILDS_ENABLED: (not set)
  • DEVELOPER_DIR: (not set)
  • HOME: /Users/jorge
  • USER: jorge
  • TMPDIR: /var/folders/qt/5lnnqrq159dgclfjxlg0sknc0000gn/T/
  • NODE_ENV: (not set)
  • SENTRY_DISABLED: (not set)
  • XCODEBUILDMCP_RESOURCE_ROOT: /opt/homebrew/Cellar/xcodebuildmcp/2.0.7/libexec
  • XCODEBUILDMCP_RUNTIME: mcp
  • XCODEBUILDMCP_SILENCE_LOGS: true

PATH

/Users/jorge/.local/bin
/Users/jorge/.antigravity/antigravity/bin
/Users/jorge/.pyenv/shims
/Users/jorge/.nvm/versions/node/v20.16.0/bin
/Users/jorge/google-cloud-sdk/bin
/Users/jorge/.mint/bin/
/Users/jorge/go/bin/
/opt/homebrew/bin
/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
/opt/pmk/env/global/bin
/Library/Apple/usr/bin
/Applications/Little Snitch.app/Contents/Components
/usr/local/go/bin
/opt/homebrew/opt/fzf/bin

Feature Status

UI Automation (axe)

  • Available: ✅ Yes
  • UI Automation Supported: ✅ Yes

Incremental Builds

  • Enabled: ✅ Yes
  • Available: ✅ Yes
  • Makefile exists: ❌ No

Mise Integration

  • Running under mise: ❌ No
  • Mise available: ❌ No

Debugger Backend (DAP)

  • lldb-dap available: ✅ Yes
  • Selected backend: dap

Available Tools

  • Total Plugins: 100
  • Plugin Directories: 15
  • debugging: 8 tools
  • device: 14 tools
  • doctor: 1 tools
  • logging: 4 tools
  • macos: 11 tools
  • project-discovery: 5 tools
  • project-scaffolding: 2 tools
  • session-management: 4 tools
  • simulator-management: 8 tools
  • simulator: 21 tools
  • swift-package: 6 tools
  • ui-automation: 11 tools
  • utilities: 1 tools
  • workflow-discovery: 1 tools
  • xcode-ide: 3 tools

Runtime Tool Registration

  • Enabled Workflows: 8
  • Registered Tools: 49
  • Workflows: debugging, logging, project-discovery, session-management, simulator-management, simulator, ui-automation, utilities

Xcode IDE Bridge (mcpbridge)

  • Workflow enabled: ❌ No
  • mcpbridge path: (not found)
  • 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: ✅ Available & Enabled

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, you can download the tool from https://github.com/cameroncooke/xcodemake. Make sure it's 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

Cursor

MCP Server Version

2.0.7

LLM

Claude Opus 4.6

MCP Configuration

Steps to Reproduce

I asked the agent to build the app

Expected Behavior

Find the simulator ID without setting the ID in the .xcodebuildmcp/config.yaml file

Actual Behavior

It added a new line to the config with the simulator Id

Error Messages

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working
    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