continuedev/continue · error · Error
Assistant ${options.assistant} not found
Error message
Assistant ${options.assistant} not found What it means
After fetching the organization's assistants, Continue.from could not find one whose ownerSlug and packageSlug match the requested identifier, so it cannot build the client.
Source
Thrown at packages/continue-sdk/typescript/src/Continue.ts:129
const { ownerSlug, packageSlug } = decodePackageSlug(options.assistant);
if (!ownerSlug || !packageSlug) {
throw new Error(
`Invalid assistant identifier: ${options.assistant}. Expected format: owner-slug/package-slug`,
);
}
const assistants = await continueClient.listAssistants({
organizationId: options.organizationId,
alwaysUseProxy: "true",
});
const assistantRes = assistants.find(
(a) => a.ownerSlug === ownerSlug && a.packageSlug === packageSlug,
);
if (!assistantRes) {
throw new Error(`Assistant ${options.assistant} not found`);
}
const assistant = new Assistant(assistantRes.configResult.config);
const client = createOpenAIClient({
models: assistant.config.models,
organizationId: options.organizationId || null,
apiKey: options.apiKey,
baseURL: baseURL,
});
return {
api: continueClient,
client,
assistant,
};
}
}View on GitHub (pinned to 5522c6f44c)
Solutions
- Use listAssistants to print available ownerSlug/packageSlug pairs and copy the exact match
- Check you passed the correct organizationId if the assistant is org-scoped
- Fix typos in either slug
- Use Continue.from({}) without assistant for the default client while you sort access
Example fix
// before
const { api } = await Continue.from({ assistant: 'contnue/recommended' });
// after
const { api } = await Continue.from({ assistant: 'continue/recommended', organizationId: ORG_ID }); Defensive patterns
Strategy: validation
Validate before calling
const list = await client.listAssistants({ organizationId }); const found = list.find(a => `${a.ownerSlug}/${a.packageSlug}` === slug); Try / catch
try { const { api } = await Continue.from({ assistant }); } catch (e) { if (/not found/.test(e.message)) { console.error(await (await Continue.from({})).api.listAssistants({})); } throw e; } Prevention
- Confirm assistant exists via listAssistants first
- Pass the right organizationId for org-scoped assistants
- Re-check slugs after renames/deletions on the hub
When it happens
Trigger: Continue.from({ assistant: 'owner/pkg' }) succeeds in format but listAssistants (optionally scoped by organizationId) returns no matching entry.
Common situations: Assistant was deleted/renamed, wrong organizationId supplied so it's not visible, typo in one of the slugs, or the assistant is private to another org.
Related errors
- Model ${modelName} not found in assistant configuration
- No models available in assistant configuration
- Invalid assistant identifier: ${options.assistant}. Expected
- Model ${modelName} not found in assistant configuration
- Tool ${toolName} not found
AI-assisted analysis of continuedev/continue@5522c6f44c (2026-08-27).
Data as JSON: /api/errors/e14bfd473fd1db22.
Report an issue: GitHub.