Skip to content

[Guide]: Preserve google-antigravity-auth plugin across updates (plugin removed since v2026.2.22) #29348

@grandeand

Description

@grandeand

Problem

Since OpenClaw v2026.2.22+, the google-antigravity-auth plugin has been removed from the stock distribution (the extensions/google-antigravity-auth/ directory ships empty — only node_modules/ remains, no index.ts). This means:

  1. Fresh installs cannot run openclaw models auth login --provider google-antigravity — the provider doesn't exist
  2. Existing users who update lose their working Antigravity auth — the plugin disappears, all Google OAuth profiles become orphaned, and every google-antigravity/* model fails with "No API key found"
  3. There is no migration path or deprecation notice in the changelog — it just silently breaks

This affects anyone using google-antigravity models (Gemini 3.1 Pro, Claude Opus 4.6 via Antigravity, Gemini Flash, etc.) through the OAuth flow.

Root Cause

The plugin source (index.ts, openclaw.plugin.json, package.json) was removed from the stock extensions/google-antigravity-auth/ directory but the empty directory skeleton remains. OpenClaw finds the directory but can't load the plugin → provider is never registered → all profiles are inaccessible.

Workaround: Preserve Antigravity Auth Across Updates

If you have a working google-antigravity-auth plugin from v2026.2.22 or earlier, you can preserve it as a user-installed plugin that survives updates.

One-time setup (before your first update):

Step 1 — Back up the working plugin:

mkdir -p ~/.openclaw/workspace/google-antigravity-auth-backup
cp -r ~/.npm-global/lib/node_modules/openclaw/extensions/google-antigravity-auth/* \
  ~/.openclaw/workspace/google-antigravity-auth-backup/

Important: Do this BEFORE running npm i -g openclaw@latest. After the update, the source files are gone.

Step 2 — Install as user plugin:

openclaw plugins install ~/.openclaw/workspace/google-antigravity-auth-backup

Step 3 — Enable and add to allowlist:

openclaw plugins enable google-antigravity-auth
openclaw config set plugins.allow '["google-antigravity-auth"]'
openclaw gateway restart

Step 4 — Verify:

openclaw plugins list | grep -i antigravity
# Should show: loaded, source: global:google-antigravity-auth/index.ts

openclaw models status | grep antigravity
# Should show your OAuth profiles

For every subsequent update:

The user-installed plugin lives in ~/.openclaw/extensions/google-antigravity-auth/ and the config reference is in openclaw.json under plugins.installs. Neither is touched by npm i -g openclaw@latest, so updates no longer break auth.

However, as a safety net:

# 1. Backup (safety)
cp -r ~/.openclaw/extensions/google-antigravity-auth \
  ~/.openclaw/workspace/google-antigravity-auth-backup/

# 2. Update
npm i -g openclaw@latest
openclaw gateway restart

# 3. Verify plugin still loads
openclaw plugins list | grep -i antigravity

# 4. If plugin shows disabled/missing, restore:
openclaw plugins install ~/.openclaw/workspace/google-antigravity-auth-backup
openclaw plugins enable google-antigravity-auth
openclaw config set plugins.allow '["google-antigravity-auth"]'
openclaw gateway restart

Adding new Google accounts (after setup):

openclaw models auth login --provider google-antigravity

Why plugins.allow matters

Even if the plugin is installed and enabled, if plugins.allow in openclaw.json is empty or doesn't include google-antigravity-auth, the plugin loads in restricted mode. Command surfaces (slash commands, tool calls) may not work properly. Always ensure the allowlist includes it.

What this looks like when working

$ openclaw plugins list | grep -A3 antigravity
│ Google       │ google-  │ loaded   │ global:google-antigravity-auth/index.ts │ 2026.2.22 │
│ Antigravity  │ antigrav │          │ OAuth flow for Google Antigravity       │           │
│ Auth         │ ity-auth │          │ (Cloud Code Assist)                     │           │

Source shows global: (user-installed) instead of stock: — this means it's independent from the npm package.

Environment

  • Tested on: OpenClaw 2026.2.22-2 through 2026.2.26
  • OS: macOS (Apple Silicon)
  • Plugin version: 2026.2.22 (last version with full source)
  • 5 Google OAuth profiles working across updates

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions