Skip to content

[Bug]: Antigravity CLI is authenticated but Usage Limits requires legacy acp_token.json #34327

Open

Description

@ousugo

Before submitting

  • I searched open and closed issues and checked the related reports listed below.
  • I included reproduction steps and evidence from the installed application.

Area

apps/server — Antigravity subscription usage probe; Usage → Limits

Summary

With the official Antigravity CLI configured as the provider's custom executable, T3 reports the provider as ready and authenticated and successfully completes a real model turn. However, Usage → Limits omits Antigravity because the usage probe still requires the standalone ACP runtime's antigravity-acp/acp_token.json file.

The resulting message asks the user to sign in, even though this provider is already authenticated.

Steps to reproduce

  1. Install and sign in to the official Antigravity CLI. The affected installation uses agy 1.5.2 on Windows.
  2. Enable Antigravity in T3 Code and set its custom executable path to the installed agy.exe:
    {
      "providerInstances": {
        "antigravity": {
          "driver": "antigravity",
          "enabled": true,
          "config": {
            "binaryPath": "C:\\Users\\<user>\\AppData\\Local\\agy\\bin\\agy.exe"
          }
        }
      }
    }
  3. Confirm that the provider is ready/authenticated and send a prompt.
  4. Open Usage → Limits with All environments / All providers selected.
  5. Inspect the provider's cached usageLimits.

Expected behavior

T3 should support subscription-limit retrieval for its supported agy acp executable path, where the CLI/account exposes that information.

If limits cannot be retrieved for this authentication backend, T3 should accurately explain that limitation rather than presenting the absence of a legacy token file as a request to sign in again.

Actual behavior and verification

  • agy --version: 1.5.2.
  • agy acp --help succeeds.
  • T3 provider cache reports status: "ready", auth.status: "authenticated", and auth.type: "oauth-personal".
  • A real T3 delegated turn using the Antigravity provider and requested model gemini-3.8-flash-high completed and returned the exact requested text, ANTIGRAVITY_T3_OK.
  • Usage → Limits displays Codex but no Antigravity section.
  • The T3-owned Antigravity profile has no antigravity-acp/acp_token.json.
  • The cached result is:
    {
      "windows": [],
      "unavailable": {
        "reason": "unsupported",
        "message": "Sign in with Google to see Antigravity limits."
      }
    }

Source-to-runtime evidence

Inspection of the installed resources/server.asar shows that makeAntigravityUsageProbe:

  1. Builds a fixed token path with path.join(input.profileDirectory, "antigravity-acp", "acp_token.json").
  2. Returns the unavailable result above immediately when that file does not exist.
  3. Only performs OAuth refresh and Google quota requests after that check.

Thus this observed failure occurs before a quota HTTP request is attempted. The frontend excludes the provider from its limits grouping when there are no windows and the result is unavailable.

The executable resolver/spawn code already recognizes the CLI and launches it with ["acp"], so successful CLI execution does not imply compatibility with this separate legacy-file-based quota probe.

Environment

  • T3 Code desktop Beta: installed executable ProductVersion 0.1.8.0.
  • Windows x64, OS version 10.0.26200.0.
  • Official Antigravity CLI: 1.5.2.
  • Authentication: personal Google account (oauth-personal).
  • Custom CLI executable; no T3-managed standalone ACP installation.

Related reports and distinction

Investigation boundaries

The exact Windows storage location/backend used by the CLI credentials was not established. No credentials were copied or modified. No claim is made that adapting credential retrieval alone guarantees complete quota groups for this account.

Prepared with Codex using local read-only inspection and a real T3/Antigravity connectivity test.

Activity

  1. Pulsar-Programmer commented on Nov 13, 2026

    @Pulsar-Programmer

    Additional reproduction: this now affects the T3-managed install on macOS too, not only a custom agy path.

    Since #35409, T3 downloads the official CLI from the auto-updater (manifests/darwin_arm64.json, currently 1.5.7) instead of agy_acp_server.par. The usage probe (apps/server/src/provider/antigravityUsageLimits.ts) still only reads <profile>/antigravity-acp/acp_token.json, so on a default T3 Nightly macOS (arm64) install the limits never appear.

    What I verified

    • Auth works: sign-in through Settings → Providers → Antigravity → Sign in with Google succeeds, authMethod is oauth-personal, and turns run normally.
    • No token file: after a fresh sign-out and sign-in through T3, acp_token.json is never created. The probe returns unsupported / "Sign in with Google to see Antigravity limits."
    • CLI logs show the Keychain is used:
      keyringAuth: loaded token ... expired=false
      ChainedAuth: authenticated via keyring (effective: keyring)
      
    • The env var is ignored: AGY_ACP_FORCE_FILE_STORAGE=1, which T3 sets in antigravityEnvironment, is not read by the 1.5.7 binary. strings on cli_mac_arm64.tar.gz → antigravity contains neither AGY_ACP_FORCE_FILE_STORAGE nor acp_token.json. The 1.4.5 agy_acp_server.par contains both. 1.5.7 does have a FileAuthStore, but according to its changelog it only falls back to file storage when the keyring is bypassed or unreachable (for example Linux without D-Bus).
    • Sign-out leaves the Keychain token behind: T3's sign-out ran, but the Keychain token survived, and the next sign-in saved to the Keychain again.

    Implication

    For the managed CLI on macOS (and likely Windows), AGY_ACP_FORCE_FILE_STORAGE has no effect, and the probe can never find credentials. Possible directions:

    • Read the credential from wherever agy stores it (keyringAuth / codeassistclient.StoredToken).
    • Get quota through the CLI/ACP itself, if it exposes it.
    • At minimum, change the "Sign in with Google" message, because signing in again cannot fix this.

    Environment: T3 Code Nightly (macOS arm64), managed Antigravity CLI 1.5.7, oauth-personal.


    Posted by Claude Opus 5.5 (Claude Code) on behalf of @Pulsar-Programmer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions