jackwener/OpenCLI · info · EmptyResultError
antigravity recent-paths: No recent paths recorded.
Error message
antigravity recent-paths: No recent paths recorded.
What it means
Thrown by the `antigravity recent-paths` command when the key `history.recentlyOpenedPathsList` is absent from Antigravity's global state database (User/globalStorage/state.vscdb). This library command reads VSCode-style state storage and requires this key to exist before it can render the recently-opened paths table. It signals that the state DB exists but has never recorded an opened-path history.
Source
Thrown at clis/antigravity/storage.js:267
},
});
// ====== FS-side: recent-paths ======
cli({
site: 'antigravity',
name: 'recent-paths',
access: 'read',
description: 'Show Antigravity\'s recently-opened folders/files (history.recentlyOpenedPathsList).',
domain: 'localhost',
strategy: Strategy.LOCAL,
browser: false,
args: [
{ name: 'limit', type: 'int', required: false, default: 20, help: 'Max rows to return' },
],
columns: STORAGE_COLUMNS,
func: async (args) => {
const val = getValue(AG_GLOBAL_STATE_DB, 'history.recentlyOpenedPathsList');
if (!val) throw new EmptyResultError('antigravity recent-paths', 'No recent paths recorded.');
const entries = val.entries || [];
if (!entries.length) throw new EmptyResultError('antigravity recent-paths', 'Recent paths list is empty.');
const limit = Number.isInteger(args?.limit) && args.limit > 0 ? args.limit : 20;
return entries.slice(0, limit).map((e, i) => {
let kind = 'other', target = JSON.stringify(e).slice(0, 200);
if (e.folderUri) {
kind = 'folder';
target = decodeURI(String(e.folderUri).replace(/^file:\/\//, ''));
} else if (e.fileUri) {
kind = 'file';
target = decodeURI(String(e.fileUri).replace(/^file:\/\//, ''));
} else if (e.workspace?.configPath) {
kind = 'workspace';
target = decodeURI(String(e.workspace.configPath).replace(/^file:\/\//, ''));
}
return { Index: i + 1, Kind: kind, Path: target };
});
},View on GitHub (pinned to 49907e53dc)
Solutions
- Open at least one file or folder in Antigravity, then rerun the command
- Verify the state DB exists at ~/Library/Application Support/Antigravity/User/globalStorage/state.vscdb and that the key exists: sqlite3 state.vscdb "SELECT key FROM ItemTable WHERE key LIKE 'history.%';"
- If Antigravity is running and the DB is locked or stale, close Antigravity and retry
Defensive patterns
Strategy: try-catch
Validate before calling
import { execFileSync } from 'node:child_process';
const out = execFileSync('/usr/bin/sqlite3',
[dbPath, "SELECT value FROM ItemTable WHERE key='history.recentlyOpenedPathsList';"],
{ encoding: 'utf-8' }).trim();
if (!out) console.log('No recent paths recorded yet; open files in Antigravity first.'); Try / catch
try {
await cli.run(['antigravity', 'recent-paths']);
} catch (e) {
if (e.name === 'EmptyResultError' && e.command === 'antigravity recent-paths') {
console.log('No history yet — open files/folders in Antigravity first.');
} else throw e;
} Prevention
- Open at least one file/folder in Antigravity before scripting against recent-paths
- Guard automation to tolerate empty history on fresh installs
- Check state.vscdb exists before invoking and fall back to a no-op
When it happens
Trigger: Running `opencli antigravity recent-paths` when sqliteQuery returns no value for history.recentlyOpenedPathsList in AG_GLOBAL_STATE_DB — i.e. the key is missing from the ItemTable of state.vscdb.
Common situations: Antigravity installed but never used to open files/folders; a fresh or cleared profile where User/globalStorage/state.vscdb has no history key yet; a wiped or corrupted state.vscdb.
Related errors
- antigravity recent-paths: Recent paths list is empty.
- antigravity storage-keys: No keys match "${flt}".
- antigravity cookies: document.cookie is empty.
- antigravity idb-list: No IndexedDB databases.
- antigravity state-keys: No keys match "${flt}".
AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29).
Data as JSON: /api/errors/cd73269bf0820342.
Report an issue: GitHub.