continuedev/continue · error · Error
Relace provider does not support embeddings.
Error message
Relace provider does not support embeddings.
What it means
Relace's adapter does not implement embeddings; embed() always throws 'Relace provider does not support embeddings.' Relace is purely an edit/completion provider.
Source
Thrown at packages/openai-adapters/src/apis/Relace.ts:170
"Relace provider does not support non-streaming completion.",
);
}
completionStream(
body: CompletionCreateParamsStreaming,
signal: AbortSignal,
): AsyncGenerator<Completion> {
throw new Error("Relace provider does not support streaming completion.");
}
fimStream(
body: FimCreateParamsStreaming,
signal: AbortSignal,
): AsyncGenerator<ChatCompletionChunk> {
throw new Error(
"Relace provider does not support streaming FIM completion.",
);
}
embed(body: EmbeddingCreateParams): Promise<CreateEmbeddingResponse> {
throw new Error("Relace provider does not support embeddings.");
}
rerank(body: RerankCreateParams): Promise<CreateRerankResponse> {
throw new Error("Relace provider does not support reranking.");
}
list(): Promise<Model[]> {
throw new Error("Relace provider does not support model listing.");
}
}
View on GitHub (pinned to 5522c6f44c)
Solutions
- Use an embeddings provider (OpenAI, Jina, Voyage, etc.) for embed() calls
- Fix the model→provider mapping so embedding models never resolve to Relace
- Skip Relace in embedding-capable provider discovery
Example fix
// before
embeddingModel: { provider: 'relace', model: '...' }
// after
embeddingModel: { provider: 'openai', model: 'text-embedding-3-small' } Defensive patterns
Strategy: validation
Validate before calling
if (provider === 'relace') throw new Error('Relace cannot serve embeddings'); Type guard
const supportsEmbed = (p: string) => p !== 'relace';
Try / catch
try { return await api.embed(body); } catch (e) { if (e.message.includes('does not support embeddings')) return await openai.embed(body); throw e; } Prevention
- Keep embedding models on dedicated embedding providers
When it happens
Trigger: Calling embed() on a Relace adapter with EmbeddingCreateParams.
Common situations: Multi-provider setups where an embedding model accidentally resolves to the Relace provider; pipeline code calling embed() on every configured adapter.
Understand the failure class
Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.
Related errors
- Relace provider does not support non-streaming completion.
- Relace provider does not support streaming completion.
- Relace provider does not support streaming FIM completion.
- Relace provider does not support reranking.
- Relace provider does not support model listing.
AI-assisted analysis of continuedev/continue@5522c6f44c (2026-08-27).
Data as JSON: /api/errors/6971e7f924dec635.
Report an issue: GitHub.