RocketChat/Rocket.Chat · error · Meteor.Error

error-ai-provider-not-configured

error-ai-provider-not-configured

Error message

error-ai-provider-not-configured

What it means

Returned by POST ai.search.answer when the underlying AISearch.answer() call throws error-ai-provider-not-configured: the workspace selected an LLM provider for answer generation but the provider's credentials/settings are incomplete, so no request could be sent. The endpoint maps the service error one-to-one so clients can distinguish configuration problems from transport failures.

Source

Thrown at apps/meteor/server/api/v1/ai-search.ts:377

		) {
			throw new Meteor.Error('error-ai-not-enabled');
		}

		const answerMessages = await getSearchAnswerMessagesForUser(this.userId, messages);
		try {
			const answer = await AISearch.answer({
				query,
				messages: answerMessages,
			});

			return API.v1.success(answer);
		} catch (error) {
			const message = error instanceof Error ? error.message : '';
			if (message === 'error-ai-not-enabled') {
				throw new Meteor.Error('error-ai-not-enabled');
			}
			if (message === 'error-ai-provider-not-configured') {
				throw new Meteor.Error('error-ai-provider-not-configured');
			}
			if (message === 'error-ai-provider-empty-response') {
				throw new Meteor.Error('error-ai-provider-empty-response');
			}
			throw new Meteor.Error('error-ai-provider-request-failed');
		}
	},
);

View on GitHub (pinned to b2c16d5842)

Solutions

  1. Open Administration > AI and complete the answer-generation provider setup (provider, API key, base URL, model)
  2. Validate the configuration with GET ai.llm.models, which lists models reachable through the configured provider
  3. Save settings and retry the answer request
Defensive patterns

Strategy: validation

Validate before calling

const models = await GET('/api/v1/ai.llm.models');
if (!models || models.length === 0) throw new Error('Answer provider not configured');

Try / catch

try { /* ai.search.answer */ } catch (e) {
  if (e.error === 'error-ai-provider-not-configured') { /* surface admin setup required */ }
}

Prevention

When it happens

Trigger: POST /api/v1/ai.search.answer after an admin selected a provider (e.g. OpenAI-compatible or self-hosted gateway) but left the API key, base URL, or model field empty; or the stored provider config was invalidated.

Common situations: Provider selected but API key never saved; key rotated and the old one removed from settings; migrating workspaces where the provider reference exists but its secret did not carry over.

Related errors


AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18). Data as JSON: /api/errors/16081e819b192ae8. Report an issue: GitHub.