On May 19, 2026 Google announced that Gemini CLI is being folded into a new product, Antigravity CLI, that ships under the binary name agy. For consumer accounts — free Gemini Code Assist, Google AI Pro, and Google AI Ultra — Gemini CLI will stop serving requests on June 18, 2026. Enterprise customers on Code Assist Standard or Enterprise are unaffected.

This codelab is for two kinds of reader:

By the end of 30 minutes you'll have a working install, an imported Gemini config (if you had one), a working subagent, and a clear mental model of where Antigravity differs from the old CLI.

What you'll learn

What you'll need

How Antigravity CLI compares to Gemini CLI at a glance

Aspect

Gemini CLI

Antigravity CLI

Binary

gemini

agy

Language

Node.js

Go

Extension concept

Extensions

Plugins

Global skills

~/.gemini/skills/

~/.gemini/antigravity-cli/skills/

Workspace skills

.gemini/skills/

.agents/skills/

MCP config

inline in settings.json

dedicated mcp_config.json

Remote MCP field

url / httpUrl

serverUrl

Agent engine

CLI-only

Shared with Antigravity 2.0 desktop app

Subagents / async work

Limited

First-class via /agents

Positive : Don't panic about the deadline. Both binaries coexist on disk — you can run gemini and agy side-by-side until you're confident the migration works.

Antigravity CLI ships as a single self-contained Go binary. Pick the installer for your platform.

macOS / Linux

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

Windows (PowerShell)

irm https://antigravity.google/cli/install.ps1 | iex

Windows (Command Prompt)

curl -fsSL https://antigravity.google/cli/install.cmd -o install.cmd && install.cmd && del install.cmd

Verify the install

agy --version

You should see something like:

agy 1.0.0 (go1.22.x, linux/amd64)

First-run authentication

Launch agy from any directory:

agy

On a local machine, a browser tab opens for Google Sign-In; the token is stored in your system keyring. On a remote box or over SSH, agy prints an authorization URL instead — open it on your laptop, complete sign-in, and the token pins to that SSH session.

Where things live on disk

After your first run, agy creates this layout:

~/.gemini/antigravity-cli/
├── plugins/                # one folder per installed plugin
├── skills/                 # global skills (formerly ~/.gemini/skills/)
├── mcp_config.json         # global MCP servers
└── import_manifest.json    # tracks what was imported from Gemini CLI

Notice the ~/.gemini/antigravity-cli/ parent directory — Antigravity intentionally lives under the old .gemini tree so migration is in-place rather than a wholesale move.

Positive : Run agy doctor any time you want a sanity check — it validates auth, plugin loading, MCP connectivity, skills discovery, and context-file detection in one shot.

Negative : If agy: command not found, your shell's PATH doesn't include ~/.local/bin (Linux/macOS) or %USERPROFILE%\.agy\bin (Windows). Open a fresh terminal or source your shell profile to pick it up.

agy is interactive. Open a project directory and start a session:

cd ~/Dev/some-project
agy

You'll land in an REPL. Try a real prompt:

> Explain this repository's architecture and identify the main entry points.

The agent will read files, ask permission before running commands, and stream its reasoning. Approve or reject each tool use — this is the permissions model in action.

Slash commands you should know

Command

What it does

/skills

List and inspect installed skills

/mcp

Show wired-up MCP servers and their status

/agents

List, launch, and monitor subagents

/tasks

Inspect long-running async tasks

/model

Switch the underlying Gemini model

/permissions

Adjust what the agent is allowed to do without asking

/resume

Pick up a previous session

/rewind

Undo recent agent edits

/logout

Clear saved credentials

@conversation

Export the current session to Antigravity 2.0

Try one:

> /skills

You should see a table of skills with their source plugin and a short description.

Positive : The /permissions panel is the first place to visit if agy keeps prompting for approval on the same command. You can pre-allow specific shell commands ("always allow pytest") or limit network access per workspace.

Exit the session

Press Ctrl-D or type /quit. Your conversation is auto-saved — /resume will bring it back next time.

If you don't have an existing Gemini CLI install, skim this step so you know what the tool does, then move on.

Step 1: run the import

agy plugin import gemini

agy walks ~/.gemini/extensions/, ~/.gemini/settings.json, and any project-level .gemini/ it finds. You'll see output like this for each item:

[ok]    conductor
        - skills      : skipped (not found)
        - agents      : skipped (not found)
        ✔ commands    : 6 processed (converted to skills)
        - mcpServers  : skipped (not found)
        - hooks       : skipped (not found)

What transfers automatically

From Gemini CLI

To Antigravity CLI

Extensions

Plugins (in ~/.gemini/antigravity-cli/plugins/)

Custom commands

Skills

Most MCP server entries

mcp_config.json

JSON-format hooks

hooks.json (unchanged format)

GEMINI.md and AGENTS.md context files

Unchanged, same locations

What does NOT transfer

Step 2: move workspace skills

For each project that had .gemini/skills/:

cd ~/Dev/your-project
mkdir -p .agents
git mv .gemini/skills .agents/skills

If the directory isn't tracked by git, plain mv is fine:

mv .gemini/skills .agents/skills

Step 3: fix remote MCP server configs

Gemini CLI stored MCP servers inline in settings.json and used a url field for remote servers. Antigravity CLI uses a dedicated mcp_config.json and renames the field to serverUrl.

Before (Gemini CLI, in settings.json):

{
  "mcpServers": {
    "my-remote-mcp": {
      "url": "https://example.com/mcp"
    }
  }
}

After (Antigravity CLI, in ~/.gemini/antigravity-cli/mcp_config.json or .agents/mcp_config.json):

{
  "my-remote-mcp": {
    "serverUrl": "https://example.com/mcp"
  }
}

Local MCP entries with command + args don't need the rename — only remote urlserverUrl.

Negative : This rename fails silently. If a remote MCP server stopped responding after migration but agy doesn't complain, check that url was changed to serverUrl. The most common migration bug.

Step 4: validate everything

agy doctor

You should see green checkmarks for auth, plugins, MCP, skills, and context files. Any red line points to a specific config path to look at.

Positive : A clean way to gut-check the migration: take one task you used to do in Gemini CLI ("review this PR", "explain this file"), run it in agy, and verify the same tools fire at the same steps.

In Antigravity CLI, a plugin is a folder. That folder can ship skills, subagents, MCP servers, hooks, and rules — all together, all versionable, all swappable. This is the unit you'll author or install when you want to extend agy.

On-disk layout

After importing from Gemini CLI (or installing fresh), your tree looks like:

~/.gemini/antigravity-cli/
├── plugins/
│   └── <plugin_name>/
│       ├── plugin.json         # Required marker file
│       ├── mcp_config.json     # Optional MCP server definitions
│       ├── hooks.json          # Optional event hooks definition
│       ├── skills/             # Optional skills
│       ├── agents/             # Optional subagents
│       └── rules/              # Optional rules
└── import_manifest.json        # Tracking manifest

What each file does

File / folder

Role

plugin.json

Required marker. Holds plugin metadata: name, version, description, entry points. If this file is missing, agy ignores the folder entirely.

mcp_config.json

Optional. Plugin-scoped MCP servers. Uses the same serverUrl schema as the global config.

hooks.json

Optional. Lifecycle hooks — pre/post tool use, session start, etc. JSON format is unchanged from Gemini CLI.

skills/

Optional. A folder of markdown skill files the agent can invoke. Each file describes one capability.

agents/

Optional. Definitions of subagents this plugin contributes.

rules/

Optional. Always-on guidance the agent must follow when this plugin is active.

import_manifest.json (top-level)

Tracks what was imported from Gemini CLI so re-running agy plugin import gemini is idempotent.

A minimal plugin.json

{
  "name": "my-first-plugin",
  "version": "0.1.0",
  "description": "A demo plugin that adds a hello-world skill",
  "author": "you@example.com"
}

Try it: peek at a plugin you just imported

ls ~/.gemini/antigravity-cli/plugins/

Pick any folder name from the output, then:

cat ~/.gemini/antigravity-cli/plugins/<name>/plugin.json

You'll see the metadata the import wrote out. Inspect the sibling folders to see exactly which capabilities the plugin contributes.

Positive : Plugins are just directories — no build step, no package manager, no registry to publish to. You can git clone a plugin folder straight into ~/.gemini/antigravity-cli/plugins/ and agy picks it up on next launch.

This is the headline feature, and the reason Google rebranded the CLI: Antigravity is designed around multiple agents running in parallel, not one agent doing one thing at a time. In Google's words, user workflows "outgrew those early days of 2025" and now "require multiple agents communicating with each other to split up the work."

Try a subagent

In your agy session:

> /agents

You'll see a panel listing active and recent subagents (empty on first use). To spawn one:

> Run a subagent that finds all TODO comments in this repo and groups them by file owner, then summarize the result. Don't wait — I want to keep working.

agy acknowledges, hands the work to a subagent, and returns control to you. The subagent runs in the background; you can prompt about something else, edit files, or step away.

Check on it

> /agents

The same subagent now shows a status (running, awaiting-approval, done). When it's done, its result drops into your conversation as a callout.

Cross-tool: export to Antigravity 2.0

> @conversation

This exports your current session — agents, decisions, files touched — to Antigravity 2.0 (the desktop app). The CLI and the desktop app share the same agent harness, so a conversation you started in the terminal continues in a richer UI without losing state.

Positive : A good rule of thumb: use the main session for the work you're steering, and subagents for the work you're delegating (long-running searches, bulk refactors, "go find me all places that..." exploration). Anything you'd otherwise context-switch a teammate onto.

You've installed Antigravity CLI, run your first session, migrated (real or hypothetical) Gemini CLI config, dissected a plugin, and spawned a subagent. That's the whole essential surface area.

What you covered

One-screen migration cheat sheet

If you used to...

...now you should

Run gemini

Run agy

Edit ~/.gemini/settings.json for MCP

Edit ~/.gemini/antigravity-cli/mcp_config.json

Put workspace skills in .gemini/skills/

Put them in .agents/skills/

Write "url": "https://..." for remote MCP

Write "serverUrl": "https://..."

Call them "extensions"

Call them "plugins"

Run long tasks inline

Hand them to a subagent via /agents

Where to go next

Negative : Don't forget the June 18, 2026 deadline. Free Gemini Code Assist, Google AI Pro, and Google AI Ultra accounts lose Gemini CLI access on that date. If you're on a Code Assist Standard or Enterprise license, you keep Gemini CLI — but Antigravity CLI is where new features will land.