tinyhumansai/openhuman · error
unsupported SearXNG category `{other}`; expected web, news,
Error message
unsupported SearXNG category `{other}`; expected web, news, or images What it means
normalize_categories hit a category alias that maps to none of web/general, news, images after lowercasing and trimming — unknown vocabulary from the tool caller. Empty entries are skipped, so this only fires on a real unrecognized word.
Source
Thrown at src/openhuman/search/tools/searxng.rs:331
result.markdown_formatted = Some(markdown);
}
Ok(result)
}
}
/// Normalize user-facing category aliases into SearXNG category names.
pub fn normalize_categories(categories: Vec<String>) -> anyhow::Result<Vec<String>> {
let mut normalized = Vec::new();
for category in categories {
let trimmed = category.trim();
if trimmed.is_empty() {
continue;
}
let mapped = match trimmed.to_ascii_lowercase().as_str() {
"web" | "general" => "general",
"news" => "news",
"images" => "images",
other => anyhow::bail!(
"unsupported SearXNG category `{other}`; expected web, news, or images"
),
};
if !normalized.iter().any(|existing| existing == mapped) {
normalized.push(mapped.to_string());
}
}
Ok(normalized)
}
fn normalize_results(raw: RawSearxngResponse, max_results: usize) -> Vec<SearxngSearchResult> {
raw.results
.into_iter()
.filter_map(|item| {
let url = item.url.unwrap_or_default().trim().to_string();
if url.is_empty() {
return None;
}View on GitHub (pinned to 7491200858)
Solutions
- Use one of the supported categories: web, news, or images
- Drop the category to fall back to the default
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/search/tools/searxng.rs:331 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/d7007b6c80367650.
Report an issue: GitHub.