ComposioHQ/composio · warning · ComposioAuthConfigNotFoundError
No auth config found for toolkit
Error message
No auth config found for toolkit
What it means
Thrown when a toolkit exists but has no authConfigDetails, meaning it requires no authentication (or has no auth schemes registered) and the caller asked for auth config fields. Raised from getAuthConfigFields, which backs getAuthConfigCreationFields and getConnectedAccountInitiationFields.
Source
Thrown at ts/packages/core/src/models/Toolkits.ts:202
async get(
arg?: string | ToolkitListParams,
requestOptions?: ComposioRequestOptions
): Promise<ToolkitRetrieveResponse | ToolKitListResponse> {
if (typeof arg === 'string') {
return this.getToolkitBySlug(arg, requestOptions);
}
return this.getToolkits(arg ?? {}, requestOptions);
}
private async getAuthConfigFields(
toolkitSlug: string,
authScheme: AuthSchemeType | null,
authConfigType: 'authConfigCreation' | 'connectedAccountInitiation',
requiredOnly: boolean
): Promise<ToolkitAuthFieldsResponse> {
const toolkit = await this.getToolkitBySlug(toolkitSlug);
if (!toolkit.authConfigDetails) {
throw new ComposioAuthConfigNotFoundError('No auth config found for toolkit', {
meta: {
toolkitSlug,
},
});
}
// if multiple auth configs are found, warn the user and select the first one
if (toolkit.authConfigDetails.length > 1 && !authScheme) {
logger.warn(
`Multiple auth configs found for ${toolkitSlug}, please specify the auth scheme to get details of specific auth scheme. Selecting the first scheme by default.`,
{
meta: {
toolkitSlug,
},
}
);
}
View on GitHub (pinned to 64b1b85502)
Solutions
- Check toolkit.authConfigDetails (or toolkit.authScheme) before requesting auth fields, and skip the auth step for NO_AUTH toolkits.
- If the toolkit should require auth, verify the slug and upgrade @composio/core — the toolkit's auth metadata may have changed.
- Handle ComposioAuthConfigNotFoundError and treat it as 'no auth needed' in your flow.
Example fix
// before
const fields = await composio.toolkits.getAuthConfigCreationFields('no_auth_toolkit');
// after
const toolkit = await composio.toolkits.get({ toolkit: 'no_auth_toolkit' });
if (!toolkit.authConfigDetails?.length) {
// toolkit needs no auth; skip field collection
} else {
const fields = await composio.toolkits.getAuthConfigCreationFields('no_auth_toolkit');
} Defensive patterns
Strategy: validation
Validate before calling
const tk = await composio.toolkits.get({ toolkit: slug });
const needsAuth = !!tk.authConfigDetails?.length;
if (!needsAuth) { /* skip auth fields */ } Type guard
const hasAuthConfig = (t: Toolkit): boolean => Array.isArray(t.authConfigDetails) && t.authConfigDetails.length > 0;
Try / catch
try {
return await composio.toolkits.getAuthConfigCreationFields(slug);
} catch (e) {
if (e instanceof ComposioAuthConfigNotFoundError) return { fields: [] }; // no-auth toolkit
throw e;
} Prevention
- Check authConfigDetails before requesting auth fields in generic connector UIs.
- Treat missing auth config as 'NO_AUTH' rather than an error in user flows.
When it happens
Trigger: Calling getAuthConfigCreationFields(toolkitSlug) or getConnectedAccountInitiationFields(toolkitSlug) for a toolkit that has no auth schemes (e.g. NO_AUTH toolkits like math or web search).
Common situations: Building a generic auth-configuration UI that assumes every toolkit has auth fields; connecting toolkits that need no credentials; backend metadata not yet populated for a newly added toolkit.
Related errors
- Auth schema ${authScheme} not found for toolkit ${toolkitSlu
- No Default auth config found for toolkit ${toolkitSlug}
- No auth configs found for toolkit ${toolkitSlug}
- Couldn't fetch Toolkit with slug: ${slug}
- Could not determine a home directory to store the Composio c
AI-assisted analysis of ComposioHQ/composio@64b1b85502 (2026-08-28).
Data as JSON: /api/errors/2758117cc2ebe700.
Report an issue: GitHub.