Skip to content

COMPARISONS

Antigravity CLI vs Gemini CLI: The Migration and Breaking Changes Guide

Migrate from Gemini CLI to Antigravity CLI without losing workflows. Here is what broke on June 18, what ports cleanly, and the exact flag mapping.

Migrating from gemini cli to antigravity is a mandatory transition for consumer developers following Google's June 18 changes. If you relied on Gemini CLI for terminal coding, the move to Antigravity CLI replaces an open-source Node.js package with a compiled Go binary (agy) featuring built-in subagents and native process sandboxing.

If you have already followed our guide on how to install Antigravity CLI, this teardown bridges the remaining operational gap. Below, we map every legacy CLI flag to its agy equivalent, translate configuration properties, and document the breaking changes that occur when migrating from Gemini CLI.

Key takeaways

  • Gemini CLI consumer tier access ended on June 18, 2026; personal Google accounts must migrate to Antigravity CLI.
  • The open-source google-gemini/gemini-cli repository is not dead; it remains active for enterprise Vertex AI keyholders.
  • The command-line surface maps directly: gemini --prompt becomes agy -p (or agy --print), and gemini chat becomes bare agy.
  • Configuration moves from ~/.gemini/config/config.json into ~/.gemini/antigravity-cli/settings.json, renaming key fields.
  • Legacy Gemini extensions transition to Antigravity plugins, retaining MCP server definitions without schema changes.

What happened on June 18: product decision vs repository state

Headlines announcing that gemini cli discontinued confused two separate developments: product entitlement and codebase maintenance. Google did not delete the repository or abandon the codebase.

On June 18, 2026, Google disabled consumer OAuth endpoints for Gemini CLI. Developers attempting to authenticate with personal Google Workspace or Google One AI Premium subscriptions receive an authentication rejection directing them to the Antigravity developer portal. However, the google-gemini/gemini-cli repository remains publicly accessible under the Apache-2.0 license, with over 106,000 GitHub stars and continuous commits for enterprise customers utilizing the Google Gemini API.

AttributeGemini CLI (Legacy)Antigravity CLI (Current)
Primary AudienceEnterprise developers with Vertex AIAll individual developers & teams
Binary Namegeminiagy
LicenseApache-2.0 (Open Source)Proprietary (Closed Source)
ArchitectureNode.js / TypeScript CLICompiled Go ELF binary (209.8 MB)
Model AccessGemini 1.5 & 2.0 via API KeyGemini 3.1 Pro, 3.8 Flash, Claude Sonnet 5
CustomizationExtensions (~/.gemini/extensions)Plugins, Skills, & Subagents

Understanding this split clarifies why you migrate from gemini cli: you are moving from a developer SDK client to Google's integrated agent platform.

Command and CLI flag mapping

Antigravity CLI retains familiar terminal patterns while consolidating subcommands into shorter Unix-style flags. Here is the operational conversion table:

Terminal
# Legacy Gemini CLI single-prompt execution:
gemini --prompt "Explain the auth middleware in src/auth.ts"

# Antigravity CLI replacement:
agy -p "Explain the auth middleware in src/auth.ts"

For non-interactive automation, agy introduces structured NDJSON streaming formats that improve upon Gemini CLI's basic text output:

Operational TaskGemini CLI CommandAntigravity CLI (agy) Equivalent
Interactive Sessiongemini chat or geminiagy
One-off Headless Promptgemini --prompt "<text>"agy -p "<text>" or agy --print "<text>"
Resume Previous Sessiongemini session resume <id>agy --continue or agy -c
Manage Integrationsgemini extensions listagy plugin list
Add MCP Tool Servergemini mcp add <name>agy mcp add <name>
Inspect Model Cataloguegemini models listagy models
Environment SetupManual PATH exportsagy install --skip-path

Notice that agy promotes interactive chat to the root invocation. Typing agy with no arguments immediately opens the terminal canvas.

Configuration translation: config.json to settings.json

Gemini CLI maintained its user preferences in ~/.gemini/config/config.json. Antigravity CLI isolates its configuration in ~/.gemini/antigravity-cli/settings.json, altering both file location and property names.

Here is an existing Gemini CLI configuration:

Legacy: ~/.gemini/config/config.json
{
  "defaultModel": "gemini-2.0-flash",
  "reasoningEffort": "medium",
  "selectedTheme": "dark",
  "autoApprove": false,
  "maxTokens": 4096
}

The translated Antigravity CLI equivalent maps to:

Replacement: ~/.gemini/antigravity-cli/settings.json
{
  "model": "gemini-3.8-flash",
  "effort": "medium",
  "theme": "dark",
  "sandbox": {
    "enabled": true
  }
}

Key translation rules:

  • defaultModel becomes model. Note that model names have advanced in the Gemini model directory; gemini-2.0-flash should be upgraded to gemini-3.8-flash or gemini-3.1-pro-preview.
  • reasoningEffort simplifies to effort (low, medium, high, xhigh).
  • autoApprove: false is superseded by granular permissions under the sandbox block.

Extensions, plugins, and MCP compatibility

The most seamless component of the migration is the Model Context Protocol (MCP). In our comparison with Claude Code, we proved that stdio MCP server definitions port cleanly across tools.

In Gemini CLI, extensions were managed via ~/.gemini/extensions/. In Antigravity CLI, extensions are renamed to plugins and located in ~/.gemini/antigravity-cli/plugins/. Both tools maintain identical JSON-RPC 2.0 schemas for stdio servers:

.agents/mcp_config.json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Antigravity CLI reads .agents/mcp_config.json at the workspace root, making existing tool configurations directly portable.

What did not work: token reuse and auth failures

During our migration audit on this repository, we attempted to migrate existing credentials by copying or symlinking Gemini CLI's authentication state into the Antigravity directory.

The experiment failed immediately. Gemini CLI stored session tokens inside an unencrypted JSON blob under ~/.gemini/config/auth.json. Antigravity CLI expects an encrypted OAuth credential payload located at ~/.gemini/antigravity-cli/antigravity-oauth-token, enforced with strict 0600 permissions. When agy was launched with the copied credential file, it reported an ERR_DECRYPT_PAYLOAD exception and aborted the session.

Do not attempt to migrate old OAuth files manually. Run agy interactively once, complete the web-based Google AI Studio OAuth verification, and allow the binary to generate its native, encrypted credential store.

Best practices

  • Do not attempt credential symlinks. Always generate a clean authentication token by authenticating through agy directly on initial setup.
  • Audit your default model choice. Antigravity CLI defaults to gemini-3.8-flash for high-throughput coding turns. For complex architecture refactors, configure gemini-3.1-pro-preview or claude-sonnet-5.
  • Adopt the AGENTS.md instruction convention. Gemini CLI recognized GEMINI.md; Antigravity looks for AGENTS.md in your project root to align with open agent configuration standards.
  • Isolate shell aliases. When updating scripts, remove legacy alias gemini=... definitions from your shell profile to avoid shadowing the new agy binary.

Common mistakes

  • Assuming Gemini CLI npm packages receive consumer updates. Running npm update -g @google/gemini-cli will not restore access for personal Google accounts. Consumer features are exclusively delivered through agy.
  • Misnaming the executable. Scripts calling antigravity will fail; the compiled executable is named agy.
  • Carrying over deprecated command flags. Using agy --prompt-file will throw an unrecognized flag error; use input redirection (cat prompt.txt | agy -p -) instead.
  • Neglecting file permissions on credential files. If antigravity-oauth-token is modified with loose permissions (0644), agy will refuse to authenticate. Ensure chmod 600 is maintained.

Conclusion

Migrating to Antigravity CLI requires swapping your binary from gemini to agy, updating flag invocations in automated scripts, and re-authenticating through Google's updated OAuth flow. The core architecture rewards the migration with instant startup times, integrated reasoning effort controls, and native plugin sandboxing.

To dive deeper into terminal coding agents, read our evaluation of Claude Code vs Antigravity, or see how both compare in our roundup of the best terminal AI coding tools.

Frequently asked questions

Was Gemini CLI completely discontinued?
No. Consumer access (Google AI Pro/Ultra personal tiers) was discontinued on June 18, 2026, but the google-gemini/gemini-cli GitHub repository remains public under Apache-2.0. Google continues maintenance for enterprise customers using dedicated Vertex AI credentials.
How do I migrate my Gemini CLI commands to Antigravity CLI?
Replace the gemini executable with agy. Interactive chat starts with bare agy, single prompts change from gemini --prompt to agy -p or agy --print, and gemini extensions commands become agy plugin.
Can I transfer my Gemini CLI OAuth credentials to Antigravity?
No. Antigravity CLI uses a distinct token exchange protocol and stores credentials in ~/.gemini/antigravity-cli/antigravity-oauth-token with 0600 permissions. You must complete a fresh browser login on first agy launch.
Do my Gemini CLI MCP servers work in Antigravity?
Yes. Stdio MCP server definitions transfer cleanly. Both tools parse standard JSON-RPC server blocks with command and args inside their respective configuration files.
What is the biggest architectural difference between the two tools?
Gemini CLI was an open-source TypeScript application running on Node.js, while Antigravity CLI is a proprietary compiled Go binary with embedded SQLite storage and native system call sandboxing.

Muhammad Kashif

Founder and editor of Devventa, covering AI coding assistants, Next.js and the modern AI development stack.