A shared task list for Antigravity CLI
By Jake Marsh, who builds Taskhold. Updated 2026-10-31. Facts about other tools checked 2026-10-31. 6 min read.
Antigravity CLI (agy) is Google's terminal agent and the successor to Gemini CLI. It reads remote MCP servers from mcp_config.json. Once Taskhold is in there, agy takes tasks from the list you share with your other agents, splits them into steps and keeps you posted on the live board until it closes each one with a summary. The MCP config generator writes the entry for any URL and header.
Setup
Quickest route: make a setup URL in Taskhold Settings, paste it into agy and say "set this up". It points to a markdown file with a new key and the mcp_config.json entry, and the link expires after 3 days.
To add the entry yourself, edit ~/.gemini/config/mcp_config.json for every project, or .agents/mcp_config.json in a workspace for that workspace only:
{
"mcpServers": {
"taskhold": {
"serverUrl": "https://taskhold.com/api/mcp",
"headers": { "Authorization": "Bearer <your atd_sk_ key>" }
}
}
}The header is required. Antigravity can do OAuth with servers that support it, but Taskhold's keyless sign-in is set up only for Claude Code, Cursor, Codex, claude.ai and ChatGPT, so agy authenticates with the key. Keep serverUrl on the apex host as shown: www.taskhold.com redirects, and the redirect drops the Authorization header.
Keeping the key out of mcp_config.json
Antigravity's MCP docs don't list any variable substitution for mcp_config.json, and an open Antigravity CLI issue (#233) shows ${VAR} references reaching servers as literal text. A Gemini CLI style header such as Bearer ${TASKHOLD_API_KEY} would be sent exactly as written, and Taskhold would answer 401 not_a_taskhold_key. With the key typed into the file, use the global file in your home folder, not a workspace file you might commit.
To keep the key in an environment variable instead, run Taskhold's stdio build. It reads TASKHOLD_API_KEY from its environment first, then ~/.taskhold/config.json. The installer saves the key to that file:
curl -fsSL https://taskhold.com/install.sh | TASKHOLD_API_KEY=<your atd_sk_ key> sh{
"mcpServers": {
"taskhold": {
"command": "npx",
"args": ["-y", "https://taskhold.com/dl/taskhold-mcp-latest.tgz"]
}
}
}Coming from Gemini CLI
The first time agy runs on a machine that has Gemini CLI settings, it offers a checklist of what to convert. If you move the taskhold entry yourself, two things change: it goes from ~/.gemini/settings.json to ~/.gemini/config/mcp_config.json, and httpUrl becomes serverUrl. Your GEMINI.md files keep working. The old setup is still on the Gemini CLI page for teams on paid API keys.
AGENTS.md snippet
agy loads AGENTS.md or GEMINI.md from the repo root and from subfolders as it works in them, plus global files such as ~/.gemini/AGENTS.md. Both names are read the same way, always on and without frontmatter, so the block can go in whichever file the repo already has:
## Taskhold
This repo's work lives in the taskhold MCP server, and the person follows it on a live board.
- Send project: "<repo folder name>" with each taskhold call.
- On start: taskhold_get_current, then taskhold_updates; hold on to the cursor it returns.
- Fresh request: taskhold_begin with title, project, the steps in order and agent: "Antigravity CLI in <repo>". Picking up queued work: taskhold_list (status todo) and taskhold_begin with that task_id.
- When a step is done, taskhold_complete it with start_next: true. During a slow step, send taskhold_progress now and then (not more than every few minutes).
- Stuck on a decision: taskhold_block with a single question, then poll taskhold_updates with task_id, since and wait: 50.
- Finish with taskhold_complete and a summary of what changed and how you tested it. Anything you put off goes in taskhold_create or taskhold_create_from_todo.Each rule file is cut off after 24 KB, and all always-on rules share a 20,000-token budget, so a large AGENTS.md can push this block out of the prompt. Over budget, the largest files are cut down to pointers first, so a small file of its own keeps the block in full: .agents/rules/taskhold.md with trigger: always_on in its frontmatter.
Following agy on the board
agy's tasks land on the same live board as Claude Code, Codex or Cursor, labeled Antigravity CLI, with each step, the latest message and any question it's waiting on. Monitoring a coding agent covers reading the board, and the MCP tools reference lists every call.
Stop the approval prompt on every progress report
agy runs unconfigured MCP tools in Ask mode, so each Taskhold call waits for you to approve it. Allow the whole server in ~/.gemini/antigravity-cli/settings.json:
{
"permissions": {
"allow": ["mcp(taskhold/*)"]
}
}To hide a tool from the model, list it in disabledTools in the taskhold entry, for example "disabledTools": ["taskhold_set_priority"]. enabledTools does the reverse and shows only the tools it names.
Troubleshooting and disconnecting
- Type /mcp in agy to open the MCP manager. It marks each server as active, disconnected or loading, reloads the config files after an edit, and shows the connection log.
- Calls to taskhold fail with 401: the reason in the response says what's wrong (missing_key, bad_header, not_a_taskhold_key or unknown_key). not_a_taskhold_key usually means an unexpanded ${...} in the header. A 402 means the key is fine but the trial or plan has ended.
- "disabled": true in the entry stops agy connecting and keeps the entry. Delete the taskhold entry from mcp_config.json to remove it for good.
- Revoking the key in Taskhold Settings > API keys cuts agy off on its next call.
agy sends Taskhold only what it writes there: task text, steps, progress and notes. For a server that stays disconnected, keeps answering Unauthorized or shows no tools, see Antigravity CLI MCP server not connecting; the settings.json side of the old client is in Gemini CLI MCP server not loading.
See how far along your coding agents are.
$12/month or $120/year after the trial. Card up front. Cancel before day 7 and you pay nothing. Every agent you run is included.
Questions
- Does Gemini CLI still work?
- With a paid Gemini API key, a Gemini Enterprise Agent Platform key or a Gemini Code Assist Standard or Enterprise license, yes. Since June 18, 2026 it no longer serves Google AI Pro and Ultra plans or free Gemini Code Assist for individuals; Google points those users to Antigravity CLI.
- Can agy sign in to Taskhold with OAuth instead of a key?
- Not today. Antigravity handles OAuth for servers that support dynamic client registration, but Taskhold offers keyless sign-in only to Claude Code, Cursor, Codex, claude.ai and ChatGPT. Use the Authorization header.
- What does Taskhold cost?
- One plan per person: $12 a month or $120 a year, with every agent you connect included. The 7-day trial starts with a card.
Sources
- Google for Developers Blog: transitioning Gemini CLI to Antigravity CLI (May 19, 2026), checked 2026-10-31
- Antigravity docs: MCP (mcp_config.json, serverUrl, headers, OAuth, /mcp, timeouts), checked 2026-10-31
- Antigravity docs: migrating from Gemini CLI, checked 2026-10-31
- Antigravity docs: rules (AGENTS.md, GEMINI.md, size limits), checked 2026-10-31
- Antigravity docs: permissions (mcp(server/*) rules), checked 2026-10-31
- Antigravity CLI issue #233: no environment variable expansion in MCP config (open), checked 2026-10-31
Related
- Gemini CLI task list over MCP: watch tasks live
- Antigravity CLI MCP server not connecting: the fix
- How to see what Claude Code is doing, live
- Run several coding agents in parallel on one list
- Claude Code task list over MCP: see progress live
- Gemini CLI MCP server not loading: the fix
- Task managers for AI coding agents, compared
Updated 2026-10-31. Something wrong or out of date? Email hello@greatwork.company.