Skip to content

[Bug]: Linux Antigravity: Google OAuth succeeds, then setup session/new Internal error is shown as "Google sign-in failed" #9655

Description

@rizakara

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

This is not #9405 / #9425 (Windows never opens the browser / sign-in URL lost on stderr).
This is not #9624 (browser still does not open after #9425).
This is not #9432 (15s health-check timeout).

On Linux the browser does open and Google does succeed. T3 then fails the post-login catalog probe and maps that to a Google sign-in error.

Area

apps/server (Antigravity setup / session/new) + provider UI error mapping

Steps to reproduce

  1. Linux desktop, T3 Code Nightly AppImage 0.0.39-nightly.20260904.1277 (build contains fix(antigravity): forward Google sign-in URLs from browser helper #9425).
  2. Enable Antigravity, install the managed ACP runtime (agy_acp_server 1.1.1).
  3. Click Sign in with Google.
  4. Complete Google consent in the browser. Brave lands on http://127.0.0.1:… with “Authentication successful / You can close this window and return to your IDE.”
  5. Return to T3.

Expected behavior

Provider is signed in. Token is used. Models/catalog load.

Actual behavior

The return-URL box disappears (UI goes to verifying), then immediately:

Google sign-in failed. Start sign-in again.

Reproduced again on 1277 after updating from 1273.

Impact

Blocks Antigravity completely on this Linux desktop. Personal Google OAuth cannot finish setup.

Version or commit

0.0.39-nightly.20260904.1277 (5f878d2)
AppImage. Managed Antigravity ACP 1.1.1.

Environment

  • OS: Linux x86_64 (KDE Plasma 6 / Wayland)
  • Browser: Brave (snap), default handler
  • Auth method: oauth-personal

Logs or stack traces

From ~/.t3/userdata/logs/server.trace.ndjson on a fresh attempt after 1277:

  1. RpcClient.authenticate Success (~15–18s). acp_token.json is written. settings.json is {"auth":{"type":"oauth-personal"}}.
  2. Setup then calls RpcClient.session/new and gets ACP Internal error (~1s).
  3. T3 maps that generic ACP error to the Google sign-in failed banner.

Setup does not use the project folder. AntigravityDriver.makeDisposableRuntime creates an empty temp dir (t3-antigravity-setup-*) and runs session/new with that as cwd. That is the failing call. This prefix is still in the 1277 asar.

Health check only runs ACP initialize, so the provider can stay auth: unknown even though the token file exists.

Workaround

None for Google sign-in. Do not click Sign out / Retry after a “successful” browser login — that deletes the token that was already written. Switching to another provider (Cursor / Grok) is the only way to keep working.

Additional context

#9425, #9510, #9514, #9509, #9647 are already in this nightly (or merged the same day). They cover stderr sign-in URLs, health/startup timeouts, ACP 1.1.1, and resume-after-restart. None of them change the throwaway-cwd session/new probe or the Internal-error → “Google sign-in failed” mapping.

Suggested fix: do not treat post-auth session/new Internal error as a Google login failure; and/or run that probe against a real project cwd instead of an empty temp directory.

Activity

  1. rizakara commented on Sep 5, 2026

    @rizakara
    Author

    Correcting my own report: the throwaway-cwd theory above is wrong. The empty setup directory has nothing to do with it.

    T3's logs only show Internal error because the setup path passes no request logger. The agent writes its own log to /tmp, and that one names the real failure:

    RuntimeError: Failed to initialize conversation at ws://localhost:40901/.
    Stderr: Failed to parse initial message: proto: (line 3:5): unknown field "cascadeid"
    

    session/new never reaches the workspace. It dies when agy_acp_server hands its config to the localharness_external binary from the same archive: the server writes the key as lowercase cascadeid, and the harness only accepts cascadeId. I confirmed this by talking to that harness directly — cascadeId parses, cascadeid reproduces the error exactly.

    That value comes from a session id the agent generates itself, so nothing T3 sends affects it, and 1.1.1 is still the current release in the ACP registry. So the session/new failure is inside Google's build and cannot be fixed here.

    What T3 can fix is the part in the title: this error is shown as "Google sign-in failed. Start sign-in again." The token is already written by then, so signing out throws away a valid credential and restarts the loop. #10137 makes a session/* failure say the sign-in worked and tell the user not to sign out.

  2. juliusmarminge commented on Sep 5, 2026

    @juliusmarminge
    Member

    Fixed by #9919 — Antigravity session/new ACP internal errors are no longer shown as generic Google sign-in failures.

    Note: #9919 improves the diagnostic mapping; if the upstream ACP session/new failure itself still blocks setup on your machine, please reopen with fresh logs.

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