Table Of Content
- How to fix Bug: Chat history lost after Antigravity update in Antigravity?
- Solution Overview
- How to fix Bug: Chat history lost after Antigravity update in Antigravity?
- Step-by-Step Solution
- 1) **Quit Antigravity completely**
- 2) **Locate the state database and make a safety backup**
- 3) **Primary fix (fastest): Restore from Time Machine (or other backup)**
- 4) **If no backup: Inspect what’s still in the database**
- 5) **Export trajectory summaries to JSON**
- 6) **Rebuild chat.ChatSessionStore.index from surviving summaries (Node.js)**
- 7) **Try a server-side rehydrate (if your account syncs chats)**
- 8) **Optional: Remove only the empty index and relaunch**
- Alternative Fixes & Workarounds
- Troubleshooting Tips
- Best Practices
- Final Thought

How to fix Bug: Chat history lost after Antigravity update in Antigravity?
Table Of Content
- How to fix Bug: Chat history lost after Antigravity update in Antigravity?
- Solution Overview
- How to fix Bug: Chat history lost after Antigravity update in Antigravity?
- Step-by-Step Solution
- 1) **Quit Antigravity completely**
- 2) **Locate the state database and make a safety backup**
- 3) **Primary fix (fastest): Restore from Time Machine (or other backup)**
- 4) **If no backup: Inspect what’s still in the database**
- 5) **Export trajectory summaries to JSON**
- 6) **Rebuild chat.ChatSessionStore.index from surviving summaries (Node.js)**
- 7) **Try a server-side rehydrate (if your account syncs chats)**
- 8) **Optional: Remove only the empty index and relaunch**
- Alternative Fixes & Workarounds
- Troubleshooting Tips
- Best Practices
- Final Thought
After the latest Antigravity update, your recent chat sessions vanished from the sidebar. Locally, the key chat.ChatSessionStore.index in state.vscdb was reset to an empty JSON object, and even the backup file shows the same.
How to fix Bug: Chat history lost after Antigravity update in Antigravity?
Your chats from the last several weeks are missing after the 2026‑02‑22 update on macOS Sequoia. The local database shows chat.ChatSessionStore.index reset to
{"version":1,"entries":{}}; the backup was overwritten; protobuf state (jetskiStateSync.agentManagerInitState) and trajectorySummaries still reference ~44 session UUIDs and titles, proving the sessions existed pre‑update.

Solution Overview
| Aspect | Detail |
|---|---|
| Root Cause | A faulty migration in the update reset the ChatSessionStore index and overwrote the backup before rehydration, leaving only older sessions indexed. |
| Primary Fix | Restore state.vscdb from a pre‑update backup (Time Machine or manual copy). If no backup exists, rebuild chat.ChatSessionStore.index from surviving trajectorySummaries via script. |
| Complexity | Medium |
| Estimated Time | 20–45 minutes |
Read More: Lost Conversation History Antigravity
How to fix Bug: Chat history lost after Antigravity update in Antigravity?
Step-by-Step Solution
1) Quit Antigravity completely
- Close the app, then confirm no helper/background process is running.
- macOS:
- Activity Monitor → search “Antigravity” → Force Quit any remaining processes.
- Or use Terminal:
pkill -f Antigravity || true2) Locate the state database and make a safety backup
- Find the database (state.vscdb) under Application Support. Run:
find "$HOME/Library/Application Support" -type f -name "state.vscdb" | grep -i "Antigravity" || true- When you have the path, back it up along with its sibling files:
DB="$HOME/Library/Application Support/Antigravity/User/globalStorage/state.vscdb"
[ -f "$DB" ] && cp -a "$DB" "${DB}.pre-recovery.$(date +%F-%H%M).bak"
[ -f "${DB}.backup" ] && cp -a "${DB}.backup" "${DB}.backup.pre-recovery.$(date +%F-%H%M).bak"- If your install path differs, set DB to that path.
3) Primary fix (fastest): Restore from Time Machine (or other backup)
- If you have Time Machine:
- Open Finder → press Cmd+Shift+G → paste:
~/Library/Application Support/Antigravity/User/globalStorage/- Enter Time Machine and navigate to a snapshot taken before the update date.
- Restore both state.vscdb and state.vscdb.backup.
- Apple’s guide: https://support.apple.com/en-us/HT201250
- Relaunch Antigravity and confirm the sidebar repopulates.
4) If no backup: Inspect what’s still in the database
- Install sqlite3 if needed (Homebrew):
brew install sqlite- Check the relevant keys:
sqlite3 "$DB" "
.headers on
.mode column
SELECT key, length(value) AS bytes
FROM ItemTable
WHERE key IN ('chat.ChatSessionStore.index','jetskiStateSync.agentManagerInitState')
OR key LIKE 'chat.trajectorySummaries.%'
ORDER BY key
LIMIT 50;
"- You should see many chat.trajectorySummaries.
<UUID>rows (these are what we will use to rebuild the index).
SQLite CLI reference: https://sqlite.org/cli.html
5) Export trajectory summaries to JSON
- Dump the summaries and the current (empty) index to files:
sqlite3 "$DB" <<'SQL'
.mode json
.output trajectories.json
SELECT key, CAST(value AS TEXT) AS value
FROM ItemTable
WHERE key LIKE 'chat.trajectorySummaries.%';
.output current_index.json
SELECT CAST(value AS TEXT)
FROM ItemTable
WHERE key='chat.ChatSessionStore.index';
SQL- Verify trajectories.json is non-empty:
wc -c trajectories.json && head -c 500 trajectories.json | sed 's/"/\\"/g'Background reading on this pattern: recovering lost conversations in Antigravity
6) Rebuild chat.ChatSessionStore.index from surviving summaries (Node.js)
- Create a throwaway working folder and install a fast SQLite binding:
mkdir -p ~/antigravity-recover && cd ~/antigravity-recover
npm init -y
npm i better-sqlite3- Save this script as rebuild-index.js:
const fs = require('fs');
const path = require('path');
const Database = require('better-sqlite3');
if (process.argv.length < 3) {
console.error('Usage: node rebuild-index.js /path/to/state.vscdb');
process.exit(1);
}
const dbPath = process.argv[2];
const db = new Database(dbPath);
// Helper: read all keys like chat.trajectorySummaries.*
const rows = db.prepare(`
SELECT key, CAST(value AS TEXT) AS value
FROM ItemTable
WHERE key LIKE 'chat.trajectorySummaries.%'
`).all();
if (rows.length === 0) {
console.error('No trajectorySummaries found. Aborting.');
process.exit(2);
}
// Build a minimal index structure: { version:1, entries:{ <UUID>:{ id, title, updatedAt? } } }
const index = { version: 1, entries: {} };
for (const r of rows) {
const m = r.key.match(/^chat\.trajectorySummaries\.([0-9a-fA-F-]+)$/);
const id = m ? m[1] : null;
let title = 'Recovered Session';
let updatedAt = undefined;
try {
const obj = JSON.parse(r.value);
// Best-effort extraction; tolerate different shapes
title = obj.title || obj.sessionTitle || title;
updatedAt = obj.updatedAt || obj.lastUpdated || obj.ts || undefined;
} catch (e) {
// Non-JSON or unparsable; keep defaults
}
if (id) {
index.entries[id] = { id, title };
if (updatedAt) index.entries[id].updatedAt = updatedAt;
}
}
const payload = JSON.stringify(index);
// Write atomically: insert/replace the index
const upsert = db.prepare(`INSERT OR REPLACE INTO ItemTable(key, value) VALUES('chat.ChatSessionStore.index', ?);`);
const tx = db.transaction(() => {
upsert.run(payload);
});
try {
tx();
console.log(`Wrote index with ${Object.keys(index.entries).length} entries`);
} catch (e) {
console.error('Failed to write index:', e);
process.exit(3);
}
// Quick check
const check = db.prepare(`SELECT length(value) AS bytes FROM ItemTable WHERE key='chat.ChatSessionStore.index'`).get();
console.log('Index size (bytes):', check.bytes);- Run it against your database:
node rebuild-index.js "$DB"- Verify the index now exists and is non-empty:
sqlite3 "$DB" "SELECT substr(CAST(value AS TEXT),1,200) FROM ItemTable WHERE key='chat.ChatSessionStore.index';"- Launch Antigravity and check the sidebar. Recently missing sessions should reappear, at least with their titles.
GitHub project for the SQLite driver used above: https://github.com/WiseLibs/better-sqlite3
7) Try a server-side rehydrate (if your account syncs chats)
- Sign out of Antigravity, then sign back in. This can force the client to re-fetch metadata for known UUIDs from the service.
- If it doesn’t rehydrate automatically, leave the app open for a few minutes, then toggle workspaces.
- If still missing, contact support with your preserved files (state.vscdb, state.vscdb.backup, and a zipped copy of jetskiStateSync.agentManagerInitState) so they can attempt a server-side restore.
8) Optional: Remove only the empty index and relaunch
- Some builds regenerate the index on startup if the key is absent (not just empty).
- Backup first, then:
sqlite3 "$DB" "DELETE FROM ItemTable WHERE key='chat.ChatSessionStore.index';"- Restart Antigravity and see if it rebuilds the index. If not, restore your backup and use the script approach above.
Alternative Fixes & Workarounds
-
Restore from any external backup tool If you sync Application Support via iCloud Drive/Dropbox or use a third‑party backup, restore state.vscdb and state.vscdb.backup from the snapshot prior to 2026‑02‑22.
-
Export chats that are still visible, then rebuild Export remaining visible sessions via the UI to avoid double‑loss, then run the index rebuild script to bring the hidden ones back.
-
Use a UUID→title mapping to improve titles If you have a list of UUIDs and titles from protobuf telemetry, create a CSV mapping and amend the Node.js script to merge accurate titles into index.entries[...] before writing.
-
SQLite recovery for partially corrupted databases If sqlite3 reports corruption:
sqlite3 "$DB" ".recover" > recovered.sql
sqlite3 recovered.db < recovered.sql
# then run the rebuild-index.js against recovered.dbReference: https://sqlite.org/cli.html
Related: fix the 1024 tokens not thinking error if you also see thinking stalls after the update.
Troubleshooting Tips
- Backup first. Always keep copies of state.vscdb and state.vscdb.backup before editing.
- Database is locked. Ensure Antigravity is fully closed before running sqlite3. If needed:
lsof "$DB"Kill any listed PIDs.
- No trajectorySummaries found. You may be looking at the wrong profile or path. Re-run the find command and check other Antigravity profiles/workspaces.
- Titles look generic after rebuild. That’s okay—functionality returns first. Improve titles later by merging data from protobuf or your recovered list.
- Rebuild script wrote 0 entries. Verify trajectories.json isn’t empty and that the keys start with chat.trajectorySummaries.. Adjust the LIKE filter if your build prefixes differ.
- Permission errors. Ensure your user owns the files:
chmod 600 "$DB"*Best Practices
- Create a pre‑update snapshot of Antigravity data:
SRC="$HOME/Library/Application Support/Antigravity/User/globalStorage"
DST="$HOME/Antigravity-Backup-$(date +%F-%H%M)"
mkdir -p "$DST" && cp -a "$SRC/state.vscdb"* "$DST/"- Enable Time Machine or another automatic backup. This is the fastest recovery path for state db resets.
- Periodically export important chats from the UI so conversation content isn’t only in local indexes.
- Disable auto‑update on critical work machines and update during maintenance windows.
- Keep environment notes (OS, Antigravity version) to accelerate support escalations.
For a deeper walkthrough of prevention and recovery patterns, see this guide on lost conversation history.
Final Thought
The fastest way back is a simple restore of state.vscdb from a pre‑update backup. If that’s not available, rebuilding chat.ChatSessionStore.index from trajectorySummaries is safe and effective, and gets your sessions visible again without touching server content.
Subscribe to our newsletter
Get the latest updates and articles directly in your inbox.
Related Posts

How to fix Browser agent not working in Antigravity?
How to fix Browser agent not working in Antigravity?

How to fix Antigravity CLI (agy) on WSL broken launcher and missing scripts?
How to fix Antigravity CLI (agy) on WSL broken launcher and missing scripts?

How to fix Antigravity model list disappeared and stuck on loading models?
How to fix Antigravity model list disappeared and stuck on loading models?

