continuedev/continue · error · Error
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.
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 not found in assistant configuration
- Invalid assistant identifier
- Model not found in assistant configuration
- No models available in assistant configuration
- Block not found
AI-assisted analysis of continuedev/continue@5522c6f44c (2026-08-27).
Data as JSON: /api/errors/e14bfd473fd1db22.
Report an issue: GitHub.
Appendix: 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)