Mintplex-Labs/anything-llm · error · Error

GiteeAI API Key must be provided to use agents.

Error message

GiteeAI API Key must be provided to use agents.

What it means

Thrown by checkSetup() (server/utils/agents/index.js:128) when the resolved agent provider is 'giteeai' but process.env.GITEE_AI_API_KEY is unset/empty. It is a precondition gate inside agent.init() that blocks the Gitee AI provider client from being constructed without credentials.

Source

Thrown at server/utils/agents/index.js:257

      case "gemini":
        if (!process.env.GEMINI_API_KEY)
          throw new Error("Gemini API key must be provided to use agents.");
        break;
      case "moonshotai":
        if (!process.env.MOONSHOT_AI_MODEL_PREF)
          throw new Error("Moonshot AI model must be set to use agents.");
        break;
      case "cometapi":
        if (!process.env.COMETAPI_LLM_API_KEY)
          throw new Error("CometAPI API Key must be provided to use agents.");
        break;
      case "foundry":
        if (!process.env.FOUNDRY_BASE_PATH)
          throw new Error("Foundry base path must be provided to use agents.");
        break;
      case "giteeai":
        if (!process.env.GITEE_AI_API_KEY)
          throw new Error("GiteeAI API Key must be provided to use agents.");
        break;
      case "cohere":
        if (!process.env.COHERE_API_KEY)
          throw new Error("Cohere API key must be provided to use agents.");
        break;
      case "docker-model-runner":
        if (!process.env.DOCKER_MODEL_RUNNER_BASE_PATH)
          throw new Error(
            "Docker Model Runner base path must be provided to use agents."
          );
        break;
      case "privatemode":
        if (!process.env.PRIVATEMODE_LLM_BASE_PATH)
          throw new Error(
            "Privatemode base path must be provided to use agents."
          );
        break;
      case "sambanova":

View on GitHub (pinned to 526360e320)

Solutions

  1. Set GITEE_AI_API_KEY in .env to a valid Gitee AI key and restart the server.
  2. Verify the running process actually has the key (log its presence, never its value) - containers may need recreate.
  3. If Gitee AI is not desired, change the workspace/system provider to one that is configured.

Example fix

// before (.env)
GITEE_AI_API_KEY=
// after (.env)
GITEE_AI_API_KEY=<your-gitee-ai-key>
Defensive patterns

Strategy: validation

Validate before calling

function assertGiteeAiReady(workspaceAgentProvider) {
  const using = workspaceAgentProvider === 'giteeai' || process.env.LLM_PROVIDER === 'giteeai';
  if (using && !process.env.GITEE_AI_API_KEY)
    throw new Error('GITEE_AI_API_KEY missing - set it before starting an agent.');
}

Try / catch

try { await agent.init(); } catch (e) { if (/GiteeAI API Key must be provided/.test(e.message)) return showProviderConfig('giteeai'); throw e; }

Prevention

When it happens

Trigger: A chat turn calls agent.init(); this.provider resolves to 'giteeai' (workspace.agentProvider or LLM_PROVIDER fallback); case 'giteeai' runs and process.env.GITEE_AI_API_KEY is falsy.

Common situations: Gitee AI chosen as agent provider but the API key never pasted/saved; .env changed but server not restarted; deployment moved to a new host and the secret env was not propagated.

Related errors


AI-assisted analysis of Mintplex-Labs/anything-llm@526360e320 (2026-08-13). Data as JSON: /api/errors/84ab925c5297cc59. Report an issue: GitHub.