continuedev/continue · error · Error
Relace provider does not support streaming FIM completion.
Error message
Relace provider does not support streaming FIM completion.
What it means
Relace's adapter explicitly rejects FIM (fill-in-the-middle) streaming requests: 'Relace provider does not support streaming FIM completion.' Its editing model is driven through the chat edit API, not raw FIM.
Source
Thrown at packages/openai-adapters/src/apis/Relace.ts:165
completionNonStream(
body: CompletionCreateParamsNonStreaming,
signal: AbortSignal,
): Promise<Completion> {
throw new Error(
"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 Relace's chat edit endpoint (chatCompletionStream with prompt/prediction) instead of FIM
- Point FIM requests at a FIM-capable provider
- Gate FIM traffic on provider capability checks
Defensive patterns
Strategy: fallback
Validate before calling
if (provider === 'relace') throw new Error('Relace has no FIM; use chat edit API'); Type guard
const supportsFim = (p: string) => p !== 'relace';
Try / catch
try { yield* api.fimStream(body); } catch (e) { if (e.message.includes('does not support streaming FIM')) { /* reroute to FIM provider */ } else throw e; } Prevention
- Reserve FIM routes for FIM-capable providers
When it happens
Trigger: Calling fimStream() on a Relace adapter with FimCreateParamsStreaming.
Common situations: Code-completion/autocomplete features configured with Relace expecting Codestral-style FIM endpoints; generic FIM routing across all providers.
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
- AI SDK provider does not support fill-in-the-middle (FIM) co
- Relace provider does not support non-streaming completion.
- Relace provider does not support streaming completion.
- Relace provider does not support embeddings.
- Relace provider does not support reranking.
AI-assisted analysis of continuedev/continue@5522c6f44c (2026-08-27).
Data as JSON: /api/errors/254ab5c09b0d14fd.
Report an issue: GitHub.