by badri-s2001
Proxy that exposes Antigravity provided claude / gemini models, so we can use them in Claude Code
# Add to your Claude Code skills
git clone https://github.com/badri-s2001/antigravity-claude-proxyA proxy server that exposes an Anthropic-compatible API backed by Antigravity's Cloud Code, letting you use Claude and Gemini models with Claude Code CLI.

┌──────────────────┐ ┌─────────────────────┐ ┌────────────────────────────┐
│ Claude Code │────▶│ This Proxy Server │────▶│ Antigravity Cloud Code │
│ (Anthropic │ │ (Anthropic → Google│ │ (daily-cloudcode-pa. │
│ API format) │ │ Generative AI) │ │ sandbox.googleapis.com) │
└──────────────────┘ └─────────────────────┘ └────────────────────────────┘
No comments yet. Be the first to share your thoughts!
# Run directly with npx (no install needed)
npx antigravity-claude-proxy start
# Or install globally
npm install -g antigravity-claude-proxy
antigravity-claude-proxy start
git clone https://github.com/badri-s2001/antigravity-claude-proxy.git
cd antigravity-claude-proxy
npm install
npm start
You have two options:
Option A: Use Antigravity (Single Account)
If you have Antigravity installed and logged in, the proxy will automatically extract your token. No additional setup needed.
Option B: Add Google Accounts via OAuth (Recommended for Multi-Account)
Add one or more Google accounts for load balancing:
# If installed via npm
antigravity-claude-proxy accounts add
# If using npx
npx antigravity-claude-proxy accounts add
# If cloned locally
npm run accounts:add
This opens your browser for Google OAuth. Sign in and authorize access. Repeat for multiple accounts.
Manage accounts:
# List all accounts
antigravity-claude-proxy accounts list
# Verify accounts are working
antigravity-claude-proxy accounts verify
# Interactive account management
antigravity-claude-proxy accounts
# If installed via npm
antigravity-claude-proxy start
# If using npx
npx antigravity-claude-proxy start
# If cloned locally
npm start
The server runs on http://localhost:8080 by default.
# Health check
curl http://localhost:8080/health
# Check account status and quota limits
curl "http://localhost:8080/account-limits?format=table"
Create or edit the Claude Code settings file:
macOS: ~/.claude/settings.json
Linux: ~/.claude/settings.json
Windows: %USERPROFILE%\.claude\settings.json
Add this configuration:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "test",
"ANTHROPIC_BASE_URL": "http://localhost:8080",
"ANTHROPIC_MODEL": "claude-opus-4-5-thinking",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-5-thinking",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5-thinking",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-sonnet-4-5",
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-4-5-thinking"
}
}
Or to use Gemini models:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "test",
"ANTHROPIC_BASE_URL": "http://localhost:8080",
"ANTHROPIC_MODEL": "gemini-3-pro-high",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "gemini-3-pro-high",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "gemini-3-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "gemini-2.5-flash-lite",
"CLAUDE_CODE_SUBAGENT_MODEL": "gemini-3-flash"
}
}
Add the proxy settings to your shell profile:
macOS / Linux:
echo 'export ANTHROPIC_BASE_URL="http://localhost:8080"' >> ~/.zshrc
echo 'export ANTHROPIC_API_KEY="test"' >> ~/.zshrc
source ~/.zshrc
For Bash users, replace
~/.zshrcwith~/.bashrc
Windows (PowerShell):
Add-Content $PROFILE "`n`$env:ANTHROPIC_BASE_URL = 'http://localhost:8080'"
Add-Content $PROFILE "`$env:ANTHROPIC_API_KEY = 'test'"
. $PROFILE
Windows (Command Prompt):
setx ANTHROPIC_BASE_URL "http://localhost:8080"
setx ANTHROPIC_API_KEY "test"
Restart your terminal for changes to take effect.
# Make sure the proxy is running first
antigravity-claude-proxy start
# In another terminal, run Claude Code
claude
Note: If Claude Code asks you to select a login method, add
"hasCompletedOnboarding": trueto~/.claude.json(macOS/Linux) or%USERPROFILE%\.claude.json(Windows), then restart your terminal and try again.
| Model ID | Description |
|----------|-------------|
| claude-sonnet-4-5-thinking | Claude Sonnet 4.5 with extended thinking |
| claude-opus-4-5-thinking | Claude Opus 4.5 with extended thinking |
| claude-sonnet-4-5 | Claude Sonnet 4.5 without thinking |
| Model ID | Description |
|----------|-------------|
| gemini-3-flash | Gemini 3 Flash with thinking |
| gemini-3-pro-low | Gemini 3 Pro Low with thinking |
| gemini-3-pro-high | Gemini 3 Pro High with thinking |
Gemini models include full thinking support with thoughtSignature handling for multi-turn conversations.
When you add multiple accounts, the proxy automatically:
Check account status anytime:
curl "http://localhost:8080/account-limits?format=table"
| Endpoint | Method | Description |
|----------|--------|-------------|
| /health | GET | Health check |
| /account-limits | GET | Account status and quota limits (add ?format=table for ASCII table) |
| /v1/messages | POST | Anthropic Messages API |
| /v1/models | GET | List available models |
| /refresh-token | POST | Force token refresh |
Run the test suite (requires server running):
# Start server in one terminal
npm start
# Run tests in another terminal
npm test
Individual tests:
npm run test:signatures # Thinking signatures
npm run test:multiturn # Multi-turn with tools
npm run test:streaming # Streaming SSE events
npm run test:interleaved # Interleaved thinking
npm run test:images # Image processing
npm run test:caching # Prompt caching
If using single-account mode with Antigravity:
Or add accounts via OAuth instead: antigravity-claude-proxy accounts add
The token might have expired. Try:
curl -X POST http://localhost:8080/refresh-token
Or re-authenticate the account:
antigravity-claude-proxy accounts
With multiple accounts, the proxy automatically switches to the next available account. With a single account, you'll need to wait for the rate limit to reset.
Re-authenticate the account:
antigravity-claude-proxy accounts
# Choose "Re-authenticate" for the invalid account
By using this software, you acknowledge and accept the following:
Terms of Service risk: This approach may violate the Terms of Service of AI model providers (Anthropic, Google, etc.). You are solely responsible for ensuring compliance with all applicable terms and policies.
Account risk: Providers may detect this usage pattern and take punitive action, including suspension, permanent ban, or loss of access to paid subscriptions.
No guarantees: Providers may change APIs, authentication, or policies at any time, which can break this method without notice.
Assumption of risk: You assume all legal, financial, and technical risks. The authors and contributors of this project bear no responsibility for any consequences arising from your use.
Use at your own risk. Proceed only if you understand and accept these risks.