Antigravity CLI

Migrate from Gemini CLI to Antigravity CLI (2026): Config, MCP, Skills, Flags

How do I migrate my Gemini CLI setup (settings, MCP servers, GEMINI.md, commands, extensions, skills) to Antigravity CLI?

Install Antigravity CLI with the official install script, run agy, and work through the interactive migration checklist it shows when it finds legacy Gemini CLI configs. Run agy plugin import gemini to turn extensions into plugins and legacy commands into skills. Then make sure your MCP servers are defined in mcp_config.json instead of inline in ~/.gemini/settings.json (remote servers use serverUrl instead of url or httpUrl), and move .gemini/skills/ to .agents/skills/. GEMINI.md and AGENTS.md need no changes.

Antigravity CLI settings change often

Get one email a week when a setting, flag or permission rule changes, checked against the vendor docs.

Who has to migrate and when

Google announced the move from Gemini CLI to Antigravity CLI on May 19, 2026. On June 18, 2026, Gemini CLI stopped serving requests for Google AI Pro, Google AI Ultra, and free tier individual accounts.

  • Must migrate: Google AI Pro, Google AI Ultra, and free tier individual accounts.
  • Also affected: Gemini CLI used through Gemini Code Assist IDE extensions and Gemini Code Assist on GitHub.
  • Not affected: organizations using a Gemini Code Assist Standard or Enterprise license, and access through Google Cloud.
  • Not affected: Gemini CLI used with paid Gemini or Gemini Enterprise Agent Platform API keys.
  • Gemini CLI stays available as an Apache 2.0 licensed repository on GitHub.

Antigravity CLI keeps Agent Skills, Hooks, Subagents, and Extensions. Extensions are now called Antigravity plugins.

Install and sign in

macOS / Linux

curl -fsSL https://antigravity.google/cli/install.sh | bash
agy --version

The binary installs to ~/.local/bin/agy by default. Run agy in a project directory to open the interactive TUI. On first launch you pick a color scheme and rendering mode and confirm that you trust the workspace. Windows install commands are on the Get started page under the PowerShell and CMD tabs.

With no saved session, agy opens your default browser for Google sign-in. Over SSH it prints an authorization URL; open it on your local machine and paste the code it shows back into the remote terminal. Credentials are kept in the OS keyring. Use /logout to sign out.

To use a Gemini API key instead, set modelProvider in settings and export GEMINI_API_KEY. Setting the variable alone does nothing, and .env files are not loaded.

~/.gemini/antigravity-cli/settings.json

{
  "modelProvider": "gemini"
}

Shell

export GEMINI_API_KEY="your-api-key"
agy

For Application Default Credentials, run gcloud auth application-default login --project YOUR_PROJECT and export AGY_ADC_AUTH=true.

Run the built-in migration

When agy first starts in an environment that has legacy Gemini CLI configs, it shows an interactive checklist: pick the extensions and global configurations to convert, move active session tokens into the OS keyring, and map visual and rendering defaults to your new settings profile.

Convert extensions to plugins

agy plugin import gemini

The import converts Gemini extensions into native Antigravity plugins. Legacy custom commands inside them are converted to skills, and MCP server definitions bundled in an extension are migrated to mcp_config.json.

How each Gemini CLI file maps

  • ~/.gemini/settings.json: Antigravity CLI settings live in ~/.gemini/antigravity-cli/settings.json. Open them with /settings or /config.
  • MCP servers (inline in ~/.gemini/settings.json): now defined in ~/.gemini/config/mcp_config.json (global) or .agents/mcp_config.json (workspace).
  • GEMINI.md and AGENTS.md: no change. Workspace GEMINI.md and AGENTS.md files are still read, and global ~/.gemini/GEMINI.md is still consulted.
  • ~/.gemini/skills/: move to ~/.gemini/antigravity-cli/skills/.
  • .gemini/skills/: rename or move to .agents/skills/ so the agent recognizes them.
  • Extensions: become plugins via agy plugin import gemini. Workspace plugins go in .agents/plugins/, global plugins in ~/.gemini/config/plugins/.
  • Subagents: .agents/agents/<name>.md or .agents/agents/<name>/agent.md in the workspace, or ~/.gemini/config/agents/ globally.
  • Hooks: .agents/hooks.json, ~/.gemini/config/hooks.json, ~/.gemini/antigravity-cli/settings.json, or a plugin's hooks.json. List them with /hooks.

MCP servers: url and httpUrl become serverUrl

For remote WebSocket or SSE servers, replace the legacy url or httpUrl key with serverUrl. Keep the mcpServers wrapper.

.agents/mcp_config.json

{
  "mcpServers": {
    "remote-indexer": {
      "serverUrl": "https://mcp.internal.enterprise.com/sse",
      "env": {
        "AUTH_TOKEN": "secure_alpha_token"
      }
    }
  }
}

Headless mode, execution modes, and sandbox

Headless runs still use -p (aliases --print and --prompt). Output is set with --output-format text (default), json, or stream-json. --print-timeout defaults to 5m.

Scripted run

agy -p "Run the test suite and report failures" --output-format json
  • In headless runs, a tool that needs approval is soft-denied: the run continues, exits 0, and writes a notice naming the tool to stderr. Reading and writing files in the workspace is auto-allowed, but shell commands default to Ask, so they are soft-denied unless you grant them.
  • A run that produces no response exits non-zero and writes the reason to stderr.
  • --dangerously-skip-permissions approves all tool calls, including file writes and command execution. Prefer scoped permissions.allow rules in ~/.gemini/antigravity-cli/settings.json, such as command(git).
  • Execution modes are default, accept-edits, and plan. Set them with --mode, the agentMode setting, /settings, or Shift+Tab. --permission-mode is not valid.
  • Tool permission rules still apply to shell commands in every mode.
  • --sandbox runs the agent with terminal sandbox restrictions. Sandbox is a permission setting configured in /permissions, not an execution mode.

Gotchas

  • Workspace skills in .gemini/skills/ are not recognized until you move them to .agents/skills/.
  • Remote MCP servers using url or httpUrl need the serverUrl key.
  • GEMINI_API_KEY is ignored unless modelProvider is set to gemini.
  • Some custom terminal themes and experimental visual overlays from Gemini CLI may not carry over.
  • Headless scripts that run shell commands need permissions.allow rules or they will be soft-denied while still exiting 0.

Get Antigravity CLI settings changes by email

When a setting, flag or permission rule in this guide changes, it goes in the weekly AgentAtlas update, checked against the vendor docs. One email a week.

Sources

More on Antigravity CLI

Other guides

How to allow Cursor to run all commands: Run Everything, allowlist and sandboxHow to allow Claude Code to run all commands: permission modes, allow rules and skip permissionsClaude Code permissions: allow, ask and deny rules, rule syntax and allowed toolsCodex CLI: approval and sandbox modesGemini CLI: YOLO mode, auto_edit and allowing specific shell commandsCursor Privacy Mode: telemetry, training and data retentionClaude Code telemetry and data retention: what is sent and how to turn it offGemini CLI: turn off usage statistics and telemetryCLAUDE.md: where it goes, how it loads, and how it works with AGENTS.mdClaude Code hooks: format on save, block risky edits, get notifiedClaude Code subagents: create one, limit its tools, and call itAdd MCP servers to Cursor with mcp.json: Keep files out of Cursor with .cursorignore: Configure Codex with config.toml: Configure Gemini CLI with settings.json: Add MCP servers to Claude Code (claude mcp add, .mcp.json, scopes): Claude Code custom slash commands and skills (SKILL.md): GitHub Copilot custom instructions: Adding MCP servers to GitHub Copilot: Claude Code settings.json: file locations, precedence, and key settingsClaude Code plugins and marketplaces: install, create, and shareGemini CLI extensions and custom commands: Configuring OpenCode with opencode.json: Cline Rules: workspace, global, and conditional rulesKiro steering files: .kiro/steering, inclusion modes, and AGENTS.mdZed agent: instruction files, MCP servers, tool permissions, and ACP agentsCursor CLI: install, headless mode, permissions and CIAider: CONVENTIONS.md, .aider.conf.yml and API keysJunie guidelines, MCP and the Action Allowlist: Amp AGENTS.md, settings.json and MCP: Configure Goose extensions, hints, recipes and permissions: Customize OpenHands with skills, AGENTS.md, setup.sh and MCP: Configure Factory Droid CLI: AGENTS.md, settings.json, autonomy, custom droids and MCPConfigure Qwen Code: settings.json, providers, QWEN.md, MCP and approval modesCursor hooks: hooks.json, beforeShellExecution, afterFileEdit and exit codesCursor sandbox: sandbox.json, network allowlist and run modesCursor settings: settings.json, Cursor Settings and the ~/.cursor config filesCursor browser agent: @browser, browser automation and approval modesCursor subagents: .cursor/agents, frontmatter, built-in Explore and BrowserCursor telemetry and OpenTelemetry export (Privacy Mode, OTLP, Analytics API): Cursor rules setup: project, user and Team Rules, .mdc frontmatter, globs and AGENTS.mdClaude Code headless mode: claude -p, --output-format json, --bare and CI flagsClaude Code statusline: custom status bar in settings.json with context %, cost and git branchClaude Code /model: switch models, aliasesClaude Code /cost and /usage: check token spend, usage limits and reduce costsClaude Code VS Code extension: install, shortcuts, settings and /ideCodex AGENTS.md: global, project and override instruction files explainedCodex MCP servers: codex mcp add and [mcp_servers] in config.tomlCodex sandbox modes: read-only, workspace-write, danger-full-access and network accesscodex exec: run Codex non-interactively in scripts and CI with JSON outputCodex skills: create SKILL.md, skill folder locations and $skill invocationGEMINI.md in Gemini CLI: context file locations, imports and /memoryGemini CLI MCP servers: gemini mcp add and mcpServers in settings.jsonGemini CLI custom slash commands: TOML files, {{args}}, !{shell} and @{file}Gemini CLI headless mode: gemini -p, JSON output and exit codes for scripts and CIGemini CLI sandbox: enable Docker, Podman, macOS Seatbelt or gVisorcopilot-setup-steps.yml: set up the GitHub Copilot cloudGitHub Copilot CLI permissions: --allow-tool, --deny-tool, --allow-all-tools and trusted directoriesGitHub Copilot custom agents: .github/agents/*.agent.md profiles, tools and frontmatterGitHub Copilot code review settings: automatic PR reviews, rulesets, effort level and approvalsOpenCode MCP Server Setup: Local and Remote Servers in opencode.jsonOpenCode Permissions: Allow, Ask or Deny Bash, Edit and WebfetchOpenCode Custom Agents and Subagents: Markdown Files, Modes and @ MentionsCline MCP Setup: cline_mcp_settings.json for Local and Remote ServersCline Auto Approve and YOLO Mode: Run Commands and Edits Without PromptsCline Skills: SKILL.md Location, Format and Slash Command UseAmp MCP Setup: amp mcp add, amp.mcpServers and Workspace ApprovalAmp AGENTS.md: File Locations, @ Mentions and Glob-Scoped GuidanceAmp Skills: SKILL.md Folders, amp skill add and Search OrderKiro MCP Setup: .kiro/settings/mcp.json, autoApprove and OAuthKiro Hooks: .kiro/hooks JSON, PreToolUse, PostFileSave and StopKiro Permissions: permissions.yaml Allow, Ask and Deny RulesFactory Droid MCP Setup: droid mcp add, mcp.json Locations and /mcpFactory Droid Hooks: hooks.json, PreToolUse Matchers and Exit CodesFactory Droid Custom Droids (Subagents): .factory/droids Markdown FilesJunie MCP Setup: .junie/mcp/mcp.json for CLI and /mcp CommandJunie Brave Mode and Action Allowlist: Auto-Approve Commands in Junie CLIJunie Custom Slash Commands: .junie/commands Markdown Files and Argumentsgoose .goosehints and AGENTS.md: Global and Project Instructionsgoose Permission Modes: GOOSE_MODE auto, approve, smart_approve and chatgoose Recipes: recipe.yaml Format, Parameters and goose run --recipeZed Agent Tool Permissions: Auto-Approve Terminal Commands with tool_permissionsUse Claude, Codex and Gemini CLI in Zed: External Agents and agent_serversZed with Ollama, LM Studio and llama.cpp: Local Model Setup and Context LengthMCP 2026-07-28 Migration Guide: Stateless Protocol, No Sessions, server/discover, MRTR, and SDK v2 UpgradeSubagents and Custom Agents Compared: Claude Code vs Codex vs Cursor vs Gemini CLI vs GitHub CopilotAllow all commands in any AI coding agent: Cursor, Claude Code, Codex, Gemini CLI, Copilot CLI and 7 moreAdd an MCP server to any AI coding agent: Claude Code, Cursor, Codex, Gemini CLI, VS Code and 8 moreSettings file locations for every AI coding agent: Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Qwen Code, Amp and Factory DroidRules and instruction files in every AI coding agent: .cursor/rules, CLAUDE.md, AGENTS.md, GEMINI.md, Copilot instructions and moreGemini CLI hooks: settings.json, BeforeTool, AfterTool, exit codes and /hooksGitHub Copilot hooks: .github/hooks/*.json for Copilot CLI and the cloud agentHooks in every AI coding agent: Claude Code, Cursor, Gemini CLI, GitHub Copilot, Kiro and Factory DroidAgent Skills (SKILL.md) in every AI coding agent: Claude Code, Codex, Cline, Amp and OpenHandsHow to deploy a remote MCP server (Streamable HTTP): Cloudflare Workers, Vercel, Railway and moreHeadless mode in every AI coding agent: claude -p, codex exec, gemini -p, Cursor agent -p and copilot -p for scripts and CIClaude Code sandbox: /sandbox, sandbox.enabled, allowedDomains, excludedCommands and strict modeSandbox modes in every AI coding agent: Claude Code, Cursor, Codex and Gemini CLI comparedCustom slash commands in every AI coding agent: file locations, arguments and examplesRun GitHub Copilot CLI with copilot -p in scripts and CI (2026):

Reviewed Oct 19, 2026. Settings change often; the linked vendor docs are the source of truth.