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

Ouverte
#36,111 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
22/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
nodejs, typescript

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
TypeScript
Étoiles
24.8k
Forks
6.4k
Merge moyen
59 min
PR mergées (30 j)
418

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de pingdotgg/t3code

Toutes les issues de pingdotgg/t3code

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.