[Bug]: Antigravity provider aborts every turn when an OAuth-only remote MCP server is configured (initialize -> Unauthorized)

Aperta
#36,111 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
22/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
nodejs, typescript

Direzione di ricerca

Start in apps/server where the Antigravity ACP provider builds the private GEMINI_HOME and reads remote MCP entries from config/mcp_config.json, and check how it applies static headers versus the mcp_oauth_tokens.json store. Reproduce by adding an OAuth-only URL entry and confirming the initialize call gets a 401. Done means the token is presented, or the server is skipped and reported without aborting the turn.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug needs-triage
Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/server

Steps to reproduce
  1. T3 Code (Nightly) 0.1.10-nightly.20261113.4630, macOS 27.2, Antigravity provider.
  2. In the provider profile config at /config/mcp_config.json add an OAuth-only remote server with no static headers:
    {"mcpServers":{"click-up-code-orange":{"url":"https://mcp.clickup.com/mcp"}}}
  3. Open a new Antigravity thread and send any message.
Expected behavior

The turn runs. A server that cannot authenticate is skipped or reported as degraded; it does not take down the harness.

Actual behavior

Every turn is aborted before the agent starts:
The MCP server 'click-up-code-orange' failed to initialize: calling "initialize": sending "initialize": Unauthorized. Fix the MCP server, or remove it from your configuration and start a new session, to continue.
Antigravity stopped this turn because of an error.

Impact

Blocks work completely

Version or commit

0.1.10-nightly.20261113.4630

Environment

macOS 27.2 (arm64), Node v26.11.1, Antigravity provider through the ACP bundle

Logs or stack traces
Not ClickUp-specific: any remote MCP server that relies on OAuth and carries no static headers fails the same way.

The ACP path authenticates remote MCP servers only through static headers in the server entry, so an OAuth-only entry is connected with no Authorization header and gets 401.

Credentials do exist and are valid: ~/.gemini/antigravity-cli/mcp_oauth_tokens.json holds an entry keyed by the exact server URL (https://mcp.clickup.com/mcp), and that access token returns 200 on a direct initialize to the same endpoint. The provider profile also has <profile>/antigravity-cli/mcp_oauth_tokens.json and <profile>/antigravity-acp/mcp_oauth_tokens.json pointing at that store, and the token is still not presented.

The same ~/.gemini config works in the standalone agy CLI (it has its own OAuth flow), so this looks specific to how the provider prepares and authenticates the private GEMINI_HOME.

One unauthenticated MCP server aborts the whole session, with no per-server isolation.

Related issues checked first:
- #30948 (Kiro threads cannot use OAuth MCP servers) is the same class of failure for another provider, not a duplicate: that one is driven by _kiro/secret/* capabilities, this one by the Antigravity ACP token store.
- #20097 and #20260 covered how a required MCP startup failure is reported in run status; both are closed and neither covers an OAuth-only entry.
Screenshots, recordings, or supporting files

No response

Workaround

Remove the OAuth-only server from /config/mcp_config.json, or give it a static Authorization: Bearer header. Turns then run normally.

Lingua principale
TypeScript
Stelle
24.8k
Fork
6.4k
Merge medio
59m
PR unite (30g)
418

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di pingdotgg/t3code

Tutte le issue di pingdotgg/t3code

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.