{"record":{"id":"2694740d10f42dea","repo":"NousResearch/hermes-agent","slug":"no-llm-provider-configured-for-task-task-provide","errorCode":null,"errorMessage":"No LLM provider configured for task={task} provider={resolved_provider}. Run: hermes setup","messagePattern":"No LLM provider configured for task=(.+?) provider=(.+?)\\. Run: hermes setup","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"agent/auxiliary_client.py","lineNumber":9127,"sourceCode":"            model=resolved_model or model,\n            base_url=resolved_base_url or base_url,\n            api_key=resolved_api_key or api_key,\n            async_mode=False,\n            main_runtime=main_runtime,\n        )\n        if client is None and resolved_provider != \"auto\" and not resolved_base_url:\n            logger.warning(\n                \"Vision provider %s unavailable, falling back to auto vision backends\",\n                resolved_provider,\n            )\n            effective_provider, client, final_model = resolve_vision_provider_client(\n                provider=\"auto\",\n                model=resolved_model,\n                async_mode=False,\n                main_runtime=main_runtime,\n            )\n        if client is None:\n            raise RuntimeError(\n                f\"No LLM provider configured for task={task} provider={resolved_provider}. \"\n                f\"Run: hermes setup\"\n            )\n        resolved_provider = effective_provider or resolved_provider\n    else:\n        client, final_model = _get_cached_client(\n            resolved_provider,\n            resolved_model,\n            base_url=resolved_base_url,\n            api_key=resolved_api_key,\n            api_mode=resolved_api_mode,\n            main_runtime=main_runtime,\n            task=task,\n        )\n        effective_provider = _effective_provider_for_client(\n            client, resolved_provider,\n        )\n        if client is None:","sourceCodeStart":9109,"sourceCodeEnd":9145,"githubUrl":"https://github.com/NousResearch/hermes-agent/blob/c896c09c42910c584c4c7d2325b58c14713ea42c/agent/auxiliary_client.py#L9109-L9145","documentation":"Synchronous auxiliary resolution for a vision task: the explicitly configured vision provider produced no client, Hermes already fell back to resolve_vision_provider_client(provider=\"auto\"), and even the auto vision chain found zero usable credentials. The raise means no LLM provider of any kind is available for vision work.","triggerScenarios":"task == 'vision' with provider X configured but X's API key absent, and no other provider key (OpenRouter/OpenAI/Anthropic/...) present either; async_mode=False path at line 9127.","commonSituations":"Fresh install with no keys configured; all keys removed or expired; .env file unreadable due to permissions; running under a profile whose HERMES_HOME has no .env.","solutions":["Run `hermes setup` and configure at least one provider API key.","Verify ~/.hermes/.env (or the profile's .env) contains a valid key such as OPENAI_API_KEY or OPENROUTER_API_KEY.","Check the right profile is active (`hermes -p <name>`) — profiles have isolated .env files.","Confirm the vision-specific override `auxiliary.vision.provider` is not set to a provider you have no key for."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"from hermes_cli.config import load_config\nfrom pathlib import Path\ncfg = load_config()\nenv = (Path.home() / \".hermes\" / \".env\").read_text() if (Path.home() / \".hermes\" / \".env\").exists() else \"\"\nassert any(k in env for k in (\"OPENAI_API_KEY\", \"OPENROUTER_API_KEY\", \"ANTHROPIC_API_KEY\")), \"no vision-capable key\"","typeGuard":null,"tryCatchPattern":"try:\n    result = aux_vision_call(...)\nexcept RuntimeError as e:\n    if \"Run: hermes setup\" in str(e):\n        show_setup_guidance(); return None  # graceful degradation without vision","preventionTips":["Complete `hermes setup` with at least one provider key before using vision features.","Check profile .env when switching profiles.","Set auxiliary.vision.provider only to providers you hold keys for."],"tags":["vision","auxiliary","configuration","credentials"],"backgroundTag":null,"analyzedSha":"c896c09c42910c584c4c7d2325b58c14713ea42c","analyzedAt":"2026-08-14T17:18:01.089Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}