usebruno/bruno · error · Error
Unknown AI provider: ${providerId}
Error message
Unknown AI provider: ${providerId} What it means
Error "Unknown AI provider: ${providerId}" thrown in usebruno/bruno.
Source
Thrown at packages/bruno-electron/src/ipc/ai/index.js:97
return getModel(modelId, {
aiPreferences: getAiPrefs(),
getApiKey: (providerId) => aiKeyStore.getKey(providerId)
});
};
const pickDefaultModelId = () => {
const aiPreferences = getAiPrefs();
const hasApiKey = (providerId) => aiKeyStore.hasKey(providerId);
const available = getAvailableModels({ aiPreferences, hasApiKey });
if (available.length === 0) return null;
const preferred = aiPreferences.defaultModel;
if (preferred && available.some((m) => m.id === preferred)) return preferred;
return available[0].id;
};
const assertKnownProvider = (providerId) => {
if (!isKnownProviderId(providerId, getAiPrefs())) {
throw new Error(`Unknown AI provider: ${providerId}`);
}
};
const registerAiIpc = (mainWindow) => {
const broadcastStatus = (status) => {
if (mainWindow?.webContents && !mainWindow.webContents.isDestroyed()) {
mainWindow.webContents.send('main:ai-status-changed', status);
}
};
ipcMain.handle('renderer:get-ai-status', async () => buildStatus());
ipcMain.handle('renderer:set-ai-api-key', async (_event, { providerId, apiKey }) => {
assertKnownProvider(providerId);
const trimmed = typeof apiKey === 'string' ? apiKey.trim() : '';
if (!trimmed) {
if (isOpenAiCompatibleProviderId(providerId)) {
aiKeyStore.clearKey(providerId);View on GitHub (pinned to 9bdd81c7bd)
Solutions
- Select one of the supported AI providers in Preferences > AI.
- Update Bruno if the provider was added in a newer version.
When it happens
Trigger: Thrown at packages/bruno-electron/src/ipc/ai/index.js:97 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of usebruno/bruno@9bdd81c7bd (2026-08-13).
Data as JSON: /api/errors/ee3070922633a801.
Report an issue: GitHub.