Skip to content

web_extract fails with "No web extract provider configured" despite extract_backend: firecrawl and valid API key #27580

Description

@GitWhoIsThis
Hermes version: v0.14.0 (2026.5.16)

Config (~/.hermes/config.yaml):
yaml
web:
  search_backend: brave-free
  extract_backend: firecrawl


Env (~/.hermes/.env):

FIRECRAWL_API_KEY=fc-...


Steps to reproduce:
1. Set web.extract_backend: firecrawl in config.yaml
2. Set FIRECRAWL_API_KEY in .env
3. Restart gateway: systemctl --user restart hermes-gateway
4. Call web_extract with any URL

Expected behavior: Firecrawl extracts the page content

Actual behavior:

{"success": false, "error": "No web extract provider configured. Set web.extract_backend to firecrawl, tavily, exa, or parallel."}


Debug output:

=== Config ===
web section: {"backend": "", "search_backend": "brave-free", "extract_backend": "firecrawl", "use_gateway": false}
extract_backend: firecrawl
firecrawl available: True

=== Provider Registry ===
firecrawl provider: None
active extract provider: None


Root cause: _get_extract_backend() correctly returns "firecrawl" and _is_backend_available("firecrawl") returns True. However, get_provider('firecrawl') in agent/web_search_registry.py returns None — the Firecrawl plugin is not being loaded into the registry at import time. This causes the dispatcher in web_tools.py to fall through to the "no provider configured" error path.

Workaround: Manual curl -s "https://r.jina.ai/<URL>" works but Jina's free tier is limited and Google blocks via Jina (429).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existscomp/toolsTool registry, model_tools, toolsetstool/webWeb search and extractiontype/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions