[Bug]: Cursor integration triggers an infinite loop of permissions alerts
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/desktop
Steps to reproduce
- Connect Cursor with Xcode MCP
1.1 Toggle the "Allow agents to use Xcode tools" in the Intelligence tab of Xcode settings
1.2 Connect Cursor with Xcode MCP by adding this to ~/.cursor/mcp.json:
{
"mcpServers": {
"xcode-tools": {
"command": "xcrun",
"args": ["mcpbridge"]
}
}
}
- Connect T3 Code with Cursor
- Open Xcode
- Start a thread with a Cursor model selected
Expected behavior
Xcode should show a permissions alert like this (when using original Cursor, it's shown twice) and user has to click Allow:
Actual behavior
When doing it via T3 Code, this is shown indefinitely. Every single time I click allow, there's a new alert with a different PID value.
https://github.com/user-attachments/assets/5618b746-9f65-407c-b8ba-319b15011de9
Impact
Blocks work completely
Version or commit
0.0.24
Environment
macOS 26.4, Xcode 26.4, Cursor agent cli 2026.05.24-dda726e
Logs or stack traces
Screenshots, recordings, or supporting files
Screenshot 2026-05-27 at 13.10.21.png
Screen recording 1080.mov
Workaround
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The affected area is apps/desktop; start by tracing how a thread with a Cursor model launches or reconnects the Xcode MCP configured through ~/.cursor/mcp.json. Reproduce on macOS with Xcode MCP enabled and inspect the request and process lifecycle; done means one permission request is shown and the thread proceeds after Allow without repeated alerts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- desktop, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100