docs/antigravity.md
Antigravity supports local probing of either the IDE or the CLI (agy / antigravity-cli) language server, plus Google OAuth-backed remote usage. The OAuth path can store multiple Google accounts through the shared token-account switcher.
Antigravity.app or overridden with ANTIGRAVITY_OAUTH_CLIENT_ID and ANTIGRAVITY_OAUTH_CLIENT_SECRET.~/.codexbar/antigravity/oauth_creds.json and upserts a token-account entry for the Google account.AntigravityOAuthCredentials and is injected into remote fetches through ANTIGRAVITY_OAUTH_CREDENTIALS_JSON.Add Account...; switching between saved accounts uses the existing segmented/stacked token-account menu UI.POST https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssistPOST https://cloudcode-pa.googleapis.com/v1internal:onboardUserPOST https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModelsPOST https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaProcess detection
ps -ax -o pid=,command=.language_server_macos plus Antigravity
markers (--app_data_dir antigravity OR path contains /antigravity/); orantigravity-cli / antigravity_cli path segment, or the
agy binary (path-anchored so unrelated arguments/binaries do not match).--csrf_token <token>. Requirement depends on the match kind:
language_server match is
skipped so a later valid IDE server can be found, otherwise missingCSRFToken
is reported (unchanged behavior).--csrf_token flag and requires none.--extension_server_port <port> (HTTP fallback; IDE only).Port discovery
lsof -nP -iTCP -sTCP:LISTEN -p <pid>.Connect port probe (HTTPS)
POST https://127.0.0.1:<port>/exa.language_server_pb.LanguageServerService/GetUnleashDataX-Codeium-Csrf-Token: <token>Connect-Protocol-Version: 1Quota fetch
POST https://127.0.0.1:<connectPort>/exa.language_server_pb.LanguageServerService/GetUserStatusPOST https://127.0.0.1:<connectPort>/exa.language_server_pb.LanguageServerService/GetCommandModelConfigsextension_server_port.ideName: antigravityextensionName: antigravitylocale: enideVersion: unknownuserStatus.cascadeModelConfigData.clientModelConfigs[].quotaInfo.remainingFractionuserStatus.cascadeModelConfigData.clientModelConfigs[].quotaInfo.resetTimeclaude but not thinking)pro + low)gemini + flash)resetTime parsing:
accountEmail and planName only from GetUserStatus.AntigravityClaude (primary), Gemini Pro (secondary), Gemini Flash (tertiary)lsof for port detection.Sources/CodexBarCore/Providers/Antigravity/AntigravityStatusProbe.swiftSources/CodexBar/Providers/Antigravity/AntigravityProviderImplementation.swift