{"record":{"id":"05e790a40173fcdc","repo":"jackwener/OpenCLI","slug":"no-keys-match-flt-05e790","errorCode":null,"errorMessage":"No keys match \"${flt}\".","messagePattern":"No keys match \"(.+?)\"\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"warning","filePath":"clis/trae-solo/state-fs.js","lineNumber":68,"sourceCode":"    name: 'state-keys',\n    access: 'read',\n    description: 'List all keys present in Trae SOLO\\'s globalStorage state.vscdb (VSCode-style UI/agent state). Pass --workspace <ws-id> to query a per-workspace DB instead. Use state-get to read a specific value. (See renderer storage-keys for browser-side LS/SS.)',\n    domain: 'localhost',\n    browser: false,\n    strategy: Strategy.LOCAL,\n    args: [\n        { name: 'filter', required: false, help: 'Case-insensitive substring filter over keys' },\n        { name: 'workspace', required: false, help: 'Workspace id (from workspaces-list) to query a per-workspace DB' },\n        { name: 'limit', type: 'int', required: false, default: 200 },\n    ],\n    columns: ['Index', 'Key', 'Kind', 'Path'],\n    func: async (args) => {\n        const db = resolveStateDb(args);\n        const keys = listKeys(db);\n        const flt = args.filter ? String(args.filter).toLowerCase() : null;\n        const filtered = flt ? keys.filter((k) => k.toLowerCase().includes(flt)) : keys;\n        if (!filtered.length) {\n            throw new EmptyResultError('trae-solo storage-keys', flt ? `No keys match \"${flt}\".` : 'No keys.');\n        }\n        const limit = Number.isInteger(args.limit) && args.limit > 0 ? args.limit : 200;\n        return filtered.slice(0, limit).map((k, i) => ({\n            Index: i + 1,\n            Key: k,\n            Kind: '',\n            Path: '',\n        }));\n    },\n});\n\n// -------- state-get --------\ncli({\n    site: 'trae-solo',\n    name: 'state-get',\n    access: 'read',\n    description: 'Read a single key from Trae SOLO\\'s globalStorage state.vscdb. Pass --workspace <ws-id> to query a per-workspace DB instead. Returns parsed JSON if the value is JSON.',\n    domain: 'localhost',","sourceCodeStart":50,"sourceCodeEnd":86,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/trae-solo/state-fs.js#L50-L86","documentation":"An EmptyResultError raised by the state-keys command when, after listing keys in the resolved state.vscdb and applying the case-insensitive --filter substring match, zero keys remain. It is not a failure of the DB read; the DB simply has no keys matching the filter.","triggerScenarios":"Running state-keys with a --filter string that matches no key in the resolved DB (global or per-workspace), or querying a workspace DB that is empty.","commonSituations":"Filter casing/wording differs from the stored key (e.g. 'history' vs 'history.recentlyOpenedPathsList'); querying a per-workspace DB whose keys differ from the global DB; key names changed between Trae versions.","solutions":["Re-run with no --filter to see all keys, then adjust the filter.","Shorten the filter to a broader substring (e.g. 'workbench' instead of a full key).","Confirm you are querying the intended DB: add/remove --workspace.","If expecting a known key, verify it exists in this Trae version."],"exampleFix":"// before\nopencli trae-solo state-keys --filter history.recentlyOpenedPathsList\n// after\nopencli trae-solo state-keys --filter history   # broader substring","handlingStrategy":"fallback","validationCode":"const keys = listKeys(db);\nconst hit = flt ? keys.filter(k => k.toLowerCase().includes(flt)) : keys;\nif (!hit.length) console.warn(`filter \"${flt}\" matches none of ${keys.length} keys`);","typeGuard":null,"tryCatchPattern":"try {\n  return await listKeys({ filter: flt });\n} catch (e) {\n  if (/No keys match/.test(e.message)) return listKeys({}); // fall back to unfiltered listing\n  throw e;\n}","preventionTips":["Run state-keys without --filter first to discover real key names","Prefer short, lowercase substrings for filters","Remember matching is case-insensitive substring, not exact","Specify --workspace only when the key is known to be workspace-scoped"],"tags":["empty-result","filter","cli"],"backgroundTag":"no-matching-results","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}