Xcode ACP custom agent: session/prompt always fails with "failed to produce a response" despite a working CLI and valid auth
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Shell
- Sterne
- 11.2k
- Forks
- 1.9k
- Ø Merge
- 14 Std. 16 Min.
- Gemergte PRs (30 T.)
- 6
Beschreibung
Goal: Set up GitHub Copilot CLI as a custom agent in Xcode's Coding Intelligence settings via the Agent Client Protocol ( --acp ).
Setup:
• Copilot CLI 1.0.73, installed via Homebrew ( /opt/homebrew/bin/copilot )
• Xcode Coding Intelligence → custom agent config:
• Executable: /opt/homebrew/bin/copilot
• Arguments: --acp
• Interpreter: blank
• Environment Variables: blank (later also tried setting these — see below)
• copilot works fine standalone in Terminal (chat, auth all functional)
Symptom:
As soon as I send any prompt in Xcode (even plain text like "test" ), it fails with:
JSON-RPC request with ID JSONRPCID(rawValue: "D1C50172-B98A-4ABD-8550-6E06581D4B42", intValue: nil) failed to produce a response.
initialize , authenticate , and session/new all appear to succeed — only the prompt request fails, immediately, every time.
Troubleshooting already attempted (no change in any case):
- Fully quit and relaunched Xcode.
- Removed and re-added the custom agent entry.
- Set GITHUB_TOKEN and COPILOT_GITHUB_TOKEN explicitly in Xcode's agent Environment Variables field (I have these set in my shell profile normally, suspecting Xcode's spawned process doesn't inherit them — no effect either way).
- Confirmed Xcode's agent config only supports Executable + Arguments (stdio) — no URL/host/port field available to try TCP mode ( --acp --port ) as a workaround.
- Don't have admin access, so can't use Console.app to pull crash/error logs for the copilot process.
Independent verification (works fine outside Xcode):
I manually replayed the full ACP handshake and prompt flow over raw stdio JSON-RPC against the same CLI binary/version:
initialize → authenticate → session/new → session/prompt , using both plain integer IDs and UUID-string IDs (matching the format Xcode uses). All four requests completed successfully, including a real streamed model response and stopReason: "end_turn" .
This strongly suggests the CLI's ACP server implementation is functioning correctly, and the issue lies in Xcode's ACP client — possibly around stdio pipe handling, a client-side capability/callback (e.g., permission requests) that isn't being answered, or some other difference between how Xcode spawns the process versus how Terminal/a manual harness does.
Ask: Any guidance on Xcode-side ACP client debugging, or known issues with this specific integration path, would be appreciated.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der benutzerdefinierten Agentenkonfiguration von Xcode Coding Intelligence und dem Einstiegspunkt /opt/homebrew/bin/copilot --acp. Reproduziere session/prompt in Xcode und vergleiche es dabei mit dem erfolgreichen rohen stdio-JSON-RPC-Ablauf; abgeschlossen ist es, wenn Xcode die gestreamte Antwort und das end_turn-Ergebnis erhält, statt des Fehlers failed-to-produce-a-response.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- github
- Bereich
- cli, devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100