ComposioHQ/composio · error · ComposioAuthConfigNotFoundError

No auth configs found for toolkit ${toolkitSlug}

Error message

No auth configs found for toolkit ${toolkitSlug}

What it means

Thrown by Toolkits.authorize when the toolkit has no auth configs visible to the caller at all — the earlier branch that looks for an existing/default config found nothing, and no explicit authConfigId was supplied.

Source

Thrown at ts/packages/core/src/models/Toolkits.ts:390

        } catch (error) {
          if (error instanceof ComposioClient.APIError && error.status === 400) {
            throw new ComposioAuthConfigNotFoundError(
              `No Default auth config found for toolkit ${toolkitSlug}`,
              {
                meta: {
                  toolkitSlug,
                },
                cause: error,
                possibleFixes: [
                  `Please Create an auth config for the toolkit ${toolkitSlug} via the dashboard`,
                ],
              }
            );
          }
          throw error;
        }
      } else {
        throw new ComposioAuthConfigNotFoundError(
          `No auth configs found for toolkit ${toolkitSlug}`,
          {
            meta: {
              toolkitSlug,
            },
          }
        );
      }
    }
    // create the auth config
    const composioConnectedAccount = new ConnectedAccounts(this.client);
    return await composioConnectedAccount.initiate(
      userId,
      authConfigIdToUse,
      {
        // in this magic function we allow multiple connected accounts per user for an auth config
        allowMultiple: true,
      },

View on GitHub (pinned to 64b1b85502)

Solutions

  1. Create an auth config for the toolkit first (dashboard or composio.toolkits.createAuthConfig), then authorize.
  2. Pass connectedAccountInitiationParams / fieldValues inline so authorize can initiate a connection without a pre-existing config.
  3. Confirm the API key/workspace matches where auth configs are stored; upgrade @composio/core if metadata is stale.

Example fix

// before
const acct = await composio.connect('github');

// after
await composio.toolkits.createAuthConfig('github', { /* fields */ });
const acct = await composio.connect('github', null, null, { gitHubAccessToken: process.env.GH_TOKEN! });
Defensive patterns

Strategy: fallback

Validate before calling

const configs = await composio.toolkits.listAuthConfigs(slug);
if (!configs.items.length) { await composio.toolkits.createAuthConfig(slug, fields); }

Type guard

const hasAnyAuthConfig = (items: AuthConfig[]): boolean => items.length > 0;

Try / catch

try {
  await composio.connect(slug);
} catch (e) {
  if (e instanceof ComposioAuthConfigNotFoundError) { /* create auth config, then retry */ }
}

Prevention

When it happens

Trigger: Calling authorize (or composio.connect) for a toolkit with zero auth configs in the workspace and providing no authConfigId or creation fields.

Common situations: Authorizing a toolkit for the first time in a fresh workspace/project without creating an auth config; using an API key scoped to an org where the toolkit's auth configs live elsewhere; backend metadata not yet provisioned.

Related errors


AI-assisted analysis of ComposioHQ/composio@64b1b85502 (2026-08-28). Data as JSON: /api/errors/ad4112d796bc3f9b. Report an issue: GitHub.