{"record":{"id":"cd73269bf0820342","repo":"jackwener/OpenCLI","slug":"antigravity-recent-paths-no-recent-paths-recorded","errorCode":null,"errorMessage":"antigravity recent-paths: No recent paths recorded.","messagePattern":"antigravity recent-paths: No recent paths recorded\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"info","filePath":"clis/antigravity/storage.js","lineNumber":267,"sourceCode":"    },\n});\n\n// ====== FS-side: recent-paths ======\ncli({\n    site: 'antigravity',\n    name: 'recent-paths',\n    access: 'read',\n    description: 'Show Antigravity\\'s recently-opened folders/files (history.recentlyOpenedPathsList).',\n    domain: 'localhost',\n    strategy: Strategy.LOCAL,\n    browser: false,\n    args: [\n        { name: 'limit', type: 'int', required: false, default: 20, help: 'Max rows to return' },\n    ],\n    columns: STORAGE_COLUMNS,\n    func: async (args) => {\n        const val = getValue(AG_GLOBAL_STATE_DB, 'history.recentlyOpenedPathsList');\n        if (!val) throw new EmptyResultError('antigravity recent-paths', 'No recent paths recorded.');\n        const entries = val.entries || [];\n        if (!entries.length) throw new EmptyResultError('antigravity recent-paths', 'Recent paths list is empty.');\n        const limit = Number.isInteger(args?.limit) && args.limit > 0 ? args.limit : 20;\n        return entries.slice(0, limit).map((e, i) => {\n            let kind = 'other', target = JSON.stringify(e).slice(0, 200);\n            if (e.folderUri) {\n                kind = 'folder';\n                target = decodeURI(String(e.folderUri).replace(/^file:\\/\\//, ''));\n            } else if (e.fileUri) {\n                kind = 'file';\n                target = decodeURI(String(e.fileUri).replace(/^file:\\/\\//, ''));\n            } else if (e.workspace?.configPath) {\n                kind = 'workspace';\n                target = decodeURI(String(e.workspace.configPath).replace(/^file:\\/\\//, ''));\n            }\n            return { Index: i + 1, Kind: kind, Path: target };\n        });\n    },","sourceCodeStart":249,"sourceCodeEnd":285,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/antigravity/storage.js#L249-L285","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"import { execFileSync } from 'node:child_process';\nconst out = execFileSync('/usr/bin/sqlite3',\n  [dbPath, \"SELECT value FROM ItemTable WHERE key='history.recentlyOpenedPathsList';\"],\n  { encoding: 'utf-8' }).trim();\nif (!out) console.log('No recent paths recorded yet; open files in Antigravity first.');","typeGuard":null,"tryCatchPattern":"try {\n  await cli.run(['antigravity', 'recent-paths']);\n} catch (e) {\n  if (e.name === 'EmptyResultError' && e.command === 'antigravity recent-paths') {\n    console.log('No history yet — open files/folders in Antigravity first.');\n  } else throw e;\n}","preventionTips":["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"],"tags":["empty-result","state-database","antigravity"],"backgroundTag":"empty-query-result","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}