{"record":{"id":"95452038e7d182c3","repo":"jackwener/OpenCLI","slug":"no-papers-found-for-term-try-a-different-key","errorCode":null,"errorMessage":"No papers found for \"${term}\". Try a different keyword.","messagePattern":"No papers found for \"(.+?)\"\\. Try a different keyword\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"warning","filePath":"clis/openreview/search.js","lineNumber":31,"sourceCode":"    domain: 'openreview.net',\n    strategy: Strategy.PUBLIC,\n    browser: false,\n    args: [\n        { name: 'query', positional: true, required: true, help: 'Search keyword (e.g. \"diffusion model\")' },\n        { name: 'limit', type: 'int', default: 25, help: 'Max results (max 50)' },\n    ],\n    columns: ['rank', 'id', 'title', 'authors', 'venue', 'pdate', 'url'],\n    func: async (args) => {\n        const term = String(args.query ?? '').trim();\n        if (!term) {\n            throw new ArgumentError('openreview search query cannot be empty');\n        }\n        const limit = requireBoundedInt(args.limit, 25, 50);\n        const path = `/notes/search?term=${encodeURIComponent(term)}&type=terms&limit=${limit}`;\n        const json = await openreviewFetch(path, 'openreview search');\n        const notes = Array.isArray(json?.notes) ? json.notes : [];\n        if (!notes.length) {\n            throw new EmptyResultError('openreview', `No papers found for \"${term}\". Try a different keyword.`);\n        }\n        return notes.slice(0, limit).map((note, i) => {\n            const row = noteToRow(note);\n            return {\n                rank: i + 1,\n                id: row.id,\n                title: row.title,\n                authors: row.authors,\n                venue: row.venue,\n                pdate: row.pdate,\n                url: row.url,\n            };\n        });\n    },\n});\n","sourceCodeStart":13,"sourceCodeEnd":47,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/openreview/search.js#L13-L47","documentation":"The openreview search command hits /notes/search?term=<term>&type=terms. If the API responds successfully but returns an empty notes array, EmptyResultError is thrown with the search term echoed, prompting the user to try different keywords. OpenReview's term search is strict about token prefixes, so overly specific queries often yield nothing.","triggerScenarios":"openreviewFetch('/notes/search?term=...') succeeds with json.notes missing or empty for the given term and limit.","commonSituations":"Multi-word queries where OpenReview term search only matches prefixes (e.g. 'attention is all you need' finds nothing but 'attention' does); misspelled keywords; searching for very new papers not yet indexed; special characters mangling the encoded term.","solutions":["Shorten the query to a single keyword or meaningful prefix (e.g. \"transformer\" not the full title)","Check spelling of the search term","Search the exact title on openreview.net to confirm the paper is public/indexed","Raise --limit up to the max of 50 in case ranking pushed it out","Fall back to a different distinctive word from the title"],"exampleFix":"// before\nopenreview search \"attention is all you need\"\n// after\nopenreview search \"attention\"","handlingStrategy":"fallback","validationCode":"const term = String(rawQuery ?? '').trim();\nif (!term) throw new Error('Query required');\nif (term.split(/\\s+/).length > 3) {\n    console.warn('OpenReview term search matches prefixes; consider a shorter query.');\n}","typeGuard":null,"tryCatchPattern":"try {\n    return await searchCommand({ query: term, limit: 25 });\n} catch (err) {\n    if (err instanceof EmptyResultError) {\n        const fallbackTerm = term.split(/\\s+/)[0];\n        return await searchCommand({ query: fallbackTerm, limit: 25 });\n    }\n    throw err;\n}","preventionTips":["Prefer single-keyword or prefix queries over full titles","Retry with the first distinctive word of the title on empty results","Verify the paper is public on openreview.net before assuming a CLI bug","Raise --limit to the max (50) for common terms"],"tags":["empty-result","search","openreview","api-response"],"backgroundTag":"empty-result-set","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}