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

  1. Open at least one file or folder in Antigravity, then rerun the command
  2. 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.%';"
  3. 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

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


AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29). Data as JSON: /api/errors/cd73269bf0820342. Report an issue: GitHub.