continuedev/continue · warning · Error
Method not implemented.
Error message
Method not implemented.
What it means
The Gemini adapter does not support legacy non-streaming text completions; completionNonStream is an intentional stub. Gemini is only reachable through its chat/generateContent surface here.
Source
Thrown at packages/openai-adapters/src/apis/Gemini.ts:454
}
async *streamWithGenAI(
genAI: GoogleGenAI,
body: ChatCompletionCreateParamsStreaming,
): AsyncGenerator<ChatCompletionChunk> {
const convertedBody = this._convertBody(body, false, true);
const response = await this.generateStream(
genAI,
body.model,
convertedBody,
);
yield* this.processStreamResponse(response, body.model);
}
completionNonStream(
_body: CompletionCreateParamsNonStreaming,
): Promise<Completion> {
throw new Error("Method not implemented.");
}
completionStream(
body: CompletionCreateParamsStreaming,
): AsyncGenerator<Completion> {
throw new Error("Method not implemented.");
}
fimStream(
body: FimCreateParamsStreaming,
): AsyncGenerator<ChatCompletionChunk> {
throw new Error("Method not implemented.");
}
async rerank(body: RerankCreateParams): Promise<CreateRerankResponse> {
throw new Error("Method not implemented.");
}
async embed(body: EmbeddingCreateParams): Promise<CreateEmbeddingResponse> {
const inputs = Array.isArray(body.input) ? body.input : [body.input];
const response = await customFetch(this.config.requestOptions)(View on GitHub (pinned to 5522c6f44c)
Solutions
- Use chatCompletionNonStream instead.
- Route legacy prompt-style requests to a completions-capable provider.
- Add capability flags in your router.
Example fix
// before
await gemini.completionNonStream({ model: 'gemini-2.0-flash', prompt: 'hi' });
// after
await gemini.chatCompletionNonStream({ model: 'gemini-2.0-flash', messages: [{ role: 'user', content: 'hi' }] }); Defensive patterns
Strategy: fallback
Type guard
const supportsLegacyCompletions = (p: API): boolean => !(p instanceof Gemini);
Try / catch
catch (e) { if (/not implemented/.test(e.message)) return p.chatCompletionNonStream(promptToChat(body)); throw e; } Prevention
- Use messages-format chat APIs for Gemini.
- Map prompt -> single user message when migrating.
When it happens
Trigger: Calling completionNonStream(CompletionCreateParamsNonStreaming) on the Gemini adapter.
Common situations: Unified completion routers falling back to /v1/completions for base-model prompts routed to Gemini.
Related errors
- Method not implemented.
- no url found
- Failed to fetch channels: ${response.statusText}
- LastXCommitsDepth must be a number
- GitLab Private Token is required!
AI-assisted analysis of continuedev/continue@5522c6f44c (2026-08-27).
Data as JSON: /api/errors/686ba334d84e19f8.
Report an issue: GitHub.