jackwener/OpenCLI · warning · EmptyResultError
No papers found for author "${authorText}". Try alternate sp
Error message
No papers found for author "${authorText}". Try alternate spellings (e.g. initials). What it means
An EmptyResultError thrown when the arXiv author search API returns zero entries for the given author query. The search uses a quoted phrase query au:"<name>" sorted by submission date descending, so exact phrase matching means alternate spellings, initials, or diacritics can yield no hits. This is an expected empty outcome, not a fault.
Source
Thrown at clis/arxiv/author.js:33
strategy: Strategy.PUBLIC,
browser: false,
args: [
{ name: 'author', positional: true, required: true, help: 'Author name (e.g. "Yoshua Bengio" or "Y Bengio")' },
{ name: 'limit', type: 'int', default: 20, help: 'Max papers to return (max 50)' },
],
columns: ['id', 'title', 'authors', 'published', 'primary_category', 'url'],
func: async (args) => {
const authorText = String(args.author || '').trim();
if (!authorText) {
throw new ArgumentError('arxiv author cannot be empty', 'Example: opencli arxiv author "Yoshua Bengio"');
}
const limit = normalizeArxivLimit(args.limit, 20, 50);
// Quote the value so multi-word author names match as a phrase.
const query = encodeURIComponent(`au:"${authorText}"`);
const xml = await arxivFetch(`search_query=${query}&max_results=${limit}&sortBy=submittedDate&sortOrder=descending`);
const entries = parseEntries(xml);
if (!entries.length) {
throw new EmptyResultError('arxiv author', `No papers found for author "${authorText}". Try alternate spellings (e.g. initials).`);
}
return entries.map(e => ({
id: e.id,
title: e.title,
authors: e.authors,
published: e.published,
primary_category: e.primary_category,
url: e.url,
}));
},
});
View on GitHub (pinned to 49907e53dc)
Solutions
- Try alternate spellings and initials: "Y Bengio", "Yoshua Bengio", "Bengio Y"
- Drop diacritics or try the ASCII form of the name
- Verify the author actually has arXiv papers (search arxiv.org manually)
- Broaden to a keyword search via `opencli arxiv search <name>` to see if any entries exist
Example fix
// before
await exec('opencli arxiv author ' + name);
// after
try {
return await exec(`opencli arxiv author "${name}"`);
} catch (e) {
if (e.name === 'EmptyResultError') {
const initials = name.split(/\s+/).map((w, i) => i < w.length - 1 ? w[0] : w).join(' ');
return await exec(`opencli arxiv author "${initials}"`); // retry with initials
}
throw e;
} Defensive patterns
Strategy: fallback
Validate before calling
const author = String(name || '').trim();
if (!author) throw new Error('author required'); Type guard
null
Try / catch
try {
return await exec(`opencli arxiv author "${author}"`);
} catch (e) {
if (e.name === 'EmptyResultError') {
// fallback: broaden to keyword search
return await exec(`opencli arxiv search "${author}"`);
}
throw e;
} Prevention
- Try initials variants for multi-word names
- Strip diacritics to ASCII before searching
- Fall back to keyword search when author search is empty
- Confirm the author has arXiv papers before automating lookups
When it happens
Trigger: `opencli arxiv author "<name>"` where parseEntries(xml) returns [] — the au: phrase query matched no arXiv papers, e.g. misspelled name, name-only vs initials mismatch, or arXiv indexing differences.
Common situations: Searching "Yoshua Bengio" with a typo; authors who publish under initials ("Y. Bengio"); names with unicode diacritics stored differently in arXiv metadata; very new authors with no submissions.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- No papers found. Try a different keyword.
- No 12306 stations match "${keyword}"
- ${label}
- Paper ${args.id} was not found. Check the arXiv ID format, e
- No recent papers in ${category}. Check the category name.
AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29).
Data as JSON: /api/errors/3881de072ec9b9c5.
Report an issue: GitHub.