◉ANTIGRAVITY LABJP
Articles/Agents & Manager
◈ Agents & Manager/2026-11-09Intermediate

Hunting for a stopped antigravity-preview-05-2026 outside your source code

antigravity-preview-05-2026 stopped on October 5. Replacing it in source is not the whole job: .env files, CI, cron and runbooks can still carry the old name. A one-grep inventory, with an exit code you can wire into CI.

Managed Agents6Gemini API6grepCI12troubleshooting133

I had finished replacing the model name in source, and only on a Monday morning, rereading my own work notes, did I realize I had never looked outside the code. As an indie developer I have added scheduled scripts one at a time over the years, so the number of places that mention a model name was probably larger than I remembered.

First, the scope of what I verified. I have not reproduced what the API returns for the old name after the shutdown. What I did check is that the script below finds the old name in a made-up sample tree, counts the successor name, and flips its exit code.

Background: what stopped, and when

The official deprecations table lists the Managed agents model antigravity-preview-05-2026 as shut down on October 5, 2026, with antigravity-preview-09-2026 as the successor. Whether a plain swap is enough or a rework is needed is covered in antigravity-preview-05-2026 shuts down October 5: which setups need more than a string swap. This piece is about what comes after: things you thought you swapped, but didn't.

Four places the old name likes to hide

A hard-coded agent="..." in source is easy to catch. The misses live outside the code.

WhereWhy it survives
.env / .env.exampleIf the model name is passed as an environment variable, fixing the code leaves the value stale
CI config (.github/workflows etc.)It sits in a nightly job's env: block that you rarely open
cron or Task Scheduler entriesThey live outside the repo, so grep never sees them
READMEs, runbooks, copy-paste notesThey are the source of the next copy-and-paste

The third row cannot be searched from the repository at all. I come back to it below.

The inventory script

What it solves: it lists every file and line that still mentions the old name, and exits with 1 if any remain.

#!/usr/bin/env bash
# usage: audit.sh [dir] — find leftovers of a stopped model identifier
set -u
ROOT="${1:-.}"
STOPPED='antigravity-preview-05-2026'
CURRENT='antigravity-preview-09-2026'
 
hits=$(grep -rnI --exclude-dir={.git,node_modules,.next,dist} -- "$STOPPED" "$ROOT" || true)
if [ -z "$hits" ]; then
  echo "OK: no occurrence of ${STOPPED}"
else
  echo "REVIEW: ${STOPPED} is still present"
  echo "$hits" | awk -F: '{printf "  %s:%s\n", $1, $2}'
  echo "total $(echo "$hits" | wc -l | tr -d ' ') locations"
fi
echo "--- uses of the successor ${CURRENT}"
grep -rnI --exclude-dir={.git,node_modules,.next,dist} -c -- "$CURRENT" "$ROOT" | grep -v ':0$' || echo "  none"
[ -z "$hits" ]   # exit 1 if anything is left

Three notes on why it is written this way. -I skips binaries so images and build output do not match. Excluding node_modules and .next keeps dependency contents from burying the lines you actually need to fix. And the final line returns an exit code, so in CI it fails on the day the old name sneaks back in.

What it printed on a sample tree

I put the old name once each in .env.example, .github/workflows/nightly.yml and scripts/crontab.txt, the successor once in scripts/run.py, and one more old name inside node_modules.

REVIEW: antigravity-preview-05-2026 is still present
  ./.env.example:1
  ./.github/workflows/nightly.yml:4
  ./scripts/crontab.txt:1
total 3 locations
--- uses of the successor antigravity-preview-09-2026
./scripts/run.py:1
exit=1

Three hits, the node_modules one excluded, exit code 1. That is the result on a layout I invented; it says nothing about how many hits your environment will show.

Outside the repository, you need a different check

grep cannot reach crontab or a scheduler's registry. Dump the registered entries first, then run the same search.

crontab -l 2>/dev/null | grep -n 'antigravity-preview-05-2026' || echo "crontab: none"

For Windows Task Scheduler or a cloud scheduler, you will be reading the screen or an exported definition. Some of this stays manual.

Do not stop at "zero old names"

The script also counts the successor name, because zero old names does not prove that everything works. Deleting the old name can just as easily delete the line that passes a model at all. Zero old names and the expected number of new ones — only together do they tell me the swap is finished.

Check that the new name is where it should be, not only that the old one is gone. That is the rule I am keeping from this inventory.

As a next step, run audit.sh once against a single repository and read the lines it prints. The crontab-style places can wait until after that.

Share

Thank You for Reading

Antigravity Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

◈ Agents & Manager2026-10-21
Hooks Load but Never Run — Isolating the Antigravity CLI 1.2.x Report with a Three-Line Canary
A reported problem in Antigravity CLI 1.2.1 and 1.2.2: hooks load and show up in /hooks, yet no hook process ever starts. Here is a three-line canary setup that tells a config mistake apart from an executor problem.
◈ Agents & Manager2026-10-14
When the App Reads an API Response by Position, I Put a Gate in Front of the Upload So Shipped Versions Don't Crash at Launch
A client that reads a server list by index, as a wallpaper app does, leaves old shipped versions in the wild for a long time. Deleting or reordering a field can crash them at launch. This note shows an append-only check and a hash ledger that freezes shipped version directories, with the output from actually running them.
◈ Agents & Manager2026-08-28
Git Tracks the File, but Your Agent Can't See It. Here's Where It Drops Out
An agent's code search returned two files. git grep returned six. I traced the three paths that quietly drop tracked files out of search, measured them on a synthetic repo and a production one, and worked out how to spot the gap in a single line.