Mintplex-Labs/anything-llm · error · Error
ApiPie API Key must be provided to use agents.
Error message
ApiPie API Key must be provided to use agents.
What it means
Thrown by AgentHandler.checkSetup() (server/utils/agents/index.js:214) when the workspace agent provider is 'apipie' but APIPIE_LLM_API_KEY is unset/empty. APIPie is a hosted aggregator of LLM APIs behind one key, which is the only credential this guard validates.
Source
Thrown at server/utils/agents/index.js:215
case "fireworksai":
if (!process.env.FIREWORKS_AI_LLM_API_KEY)
throw new Error(
"FireworksAI API Key must be provided to use agents."
);
break;
case "deepseek":
if (!process.env.DEEPSEEK_API_KEY)
throw new Error("DeepSeek API Key must be provided to use agents.");
break;
case "litellm":
if (!process.env.LITE_LLM_BASE_PATH)
throw new Error(
"LiteLLM API base path and key must be provided to use agents."
);
break;
case "apipie":
if (!process.env.APIPIE_LLM_API_KEY)
throw new Error("ApiPie API Key must be provided to use agents.");
break;
case "xai":
if (!process.env.XAI_LLM_API_KEY)
throw new Error("xAI API Key must be provided to use agents.");
break;
case "zai":
if (!process.env.ZAI_API_KEY)
throw new Error("Z.AI API Key must be provided to use agents.");
break;
case "novita":
if (!process.env.NOVITA_LLM_API_KEY)
throw new Error("Novita API Key must be provided to use agents.");
break;
case "nvidia-nim":
if (!process.env.NVIDIA_NIM_LLM_BASE_PATH)
throw new Error(
"NVIDIA NIM base path must be provided to use agents."
);View on GitHub (pinned to 526360e320)
Solutions
- Create a key at https://apipie.io (account > API Keys) and set APIPIE_LLM_API_KEY in .env.
- Restart AnythingLLM to reload process.env.
- Validate the key with curl -H 'Authorization: Bearer $APIPIE_LLM_API_KEY' against the APIPie models endpoint.
- Confirm the agent model string matches an APIPie-routed model id.
Example fix
// before (.env) // APIPIE_LLM_API_KEY= // after (.env) APIPIE_LLM_API_KEY=...your-apipie-key
Defensive patterns
Strategy: validation
Validate before calling
const key = process.env.APIPIE_LLM_API_KEY;
if (!key) {
throw new Error(
'Cannot start ApiPie agent: set APIPIE_LLM_API_KEY (from your APIPie account) in .env.'
);
} Try / catch
try {
await agentHandler.start();
} catch (e) {
if (/ApiPie API Key must be provided/.test(e.message)) {
return respondConfigError('apipie', ['APIPIE_LLM_API_KEY']);
}
throw e;
} Prevention
- Create the key in the APIPie dashboard and write it to .env immediately.
- Restart AnythingLLM so process.env reloads.
- Add a startup assertion that APIPIE_LLM_API_KEY is set when provider is apipie.
- Keep .env out of version control and rotate keys periodically.
When it happens
Trigger: An agent invocation runs with workspace.agentProvider === 'apipie' while APIPIE_LLM_API_KEY is absent from process.env. Path: #providerSetupAndCheck() -> checkSetup() at index.js:476.
Common situations: APIPie selected in System > LLM Preference without a key; key from apipie.io not pasted into .env; .env changed but Node not restarted; key revoked.
Related errors
- OpenRouter API key must be provided to use agents.
- Mistral API key must be provided to use agents.
- Perplexity API key must be provided to use agents.
- FireworksAI API Key must be provided to use agents.
- DeepSeek API Key must be provided to use agents.
AI-assisted analysis of Mintplex-Labs/anything-llm@526360e320 (2026-08-13).
Data as JSON: /api/errors/eb317b992488da1b.
Report an issue: GitHub.