Reference for error messages you may encounter when using Toolcog, organized by category.
{ "error": "authorization_required", "message": "This operation requires authorization", "connect_url": "https://toolcog.com/connect?owner={owner}&bridge={bridge}&scope={scope}"}Cause: The operation requires credentials that aren’t available.
Resolution:
connect_url to authorize the service{ "error": "invalid_credentials", "message": "The provided credentials are invalid"}Cause: Stored credentials are rejected by the API.
Resolution:
{ "error": "token_expired", "message": "OAuth token has expired"}Cause: OAuth access token expired and couldn’t be refreshed.
Resolution:
{ "error": "insufficient_scopes", "message": "Token lacks required scopes: repo, admin:org"}Cause: The OAuth token doesn’t have all scopes needed for this operation.
Resolution:
{ "error": "credential_not_found", "message": "No credential found for scheme: bearerAuth"}Cause: The operation requires a security scheme that has no stored credential.
Resolution:
No API operations found matching your intent. Try rephrasing your search.Cause: Semantic search found no matches for your query.
Resolution:
Operation not found: stripe/invalid.operationCause: The exact operation name doesn’t exist.
Resolution:
find_api to discover the correct operation nameInvalid operation format. Expected: serviceName/operationNameCause: Operation identifier doesn’t follow the required format.
Resolution:
serviceName/operationNamegithub/repos.create, not github or /repos.create{ "error": "request_encoding_failed", "message": "Failed to encode request: missing required parameter 'owner'"}Cause: Arguments don’t satisfy the operation’s requirements.
Resolution:
learn_api to see required parametersHTTP 4xx errors from the upstream API:
| Status | Meaning | Common Causes |
|---|---|---|
| 400 | Bad Request | Invalid parameters, malformed body |
| 401 | Unauthorized | Invalid or expired credentials |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource doesn’t exist |
| 409 | Conflict | Resource already exists |
| 422 | Unprocessable | Validation failed |
| 429 | Too Many Requests | Rate limit exceeded |
Resolution:
HTTP 5xx errors from the upstream API:
| Status | Meaning | Action |
|---|---|---|
| 500 | Internal Server Error | Retry later |
| 502 | Bad Gateway | Retry later |
| 503 | Service Unavailable | Retry later |
| 504 | Gateway Timeout | Retry with simpler request |
Resolution:
{ "error": "response_decoding_failed", "message": "Failed to parse API response"}Cause: The API returned an unexpected response format.
Resolution:
{ "error": "timeout", "message": "Request timed out after 30s"}Cause: The API didn’t respond in time.
Resolution:
{ "error": "invalid_catalog_configuration", "message": "Catalog has no sources configured"}Cause: The catalog is missing required configuration.
Resolution:
{ "error": "invalid_override_configuration", "message": "OAuth override missing required field: tokenUrl"}Cause: An override is incomplete or invalid.
Resolution:
{ "error": "invalid_source_filter", "message": "Invalid filter pattern: [invalid"}Cause: Source filter pattern has syntax errors.
Resolution:
repos/*, GET /users/*, payments-*{ "error": "realm_not_found", "message": "Realm not found: myorg/invalid-realm"}Cause: An override references a non-existent realm.
Resolution:
Session not foundCause: MCP session is invalid or expired.
Resolution:
{ "error": "mcp_connection_failed", "message": "Failed to establish MCP connection"}Cause: Can’t connect to the MCP server.
Resolution:
{ "error": "session_expired", "message": "Session has expired, please reconnect"}Cause: Browser session or API key has expired.
Resolution:
{ "error": "rate_limited", "message": "Too many requests, please slow down", "retry_after": 60}Cause: Exceeded Toolcog’s rate limits.
Resolution:
retry_after seconds{ "error": "spec_validation_failed", "message": "OpenAPI spec is invalid: missing 'paths' field"}Cause: Uploaded OpenAPI spec doesn’t conform to the standard.
Resolution:
{ "error": "unsupported_spec_version", "message": "Swagger 2.0 is not supported, please convert to OpenAPI 3.x"}Cause: Spec version isn’t supported.
Resolution:
swagger2openapi{ "error": "spec_too_large", "message": "Spec exceeds maximum size of 10MB"}Cause: The uploaded spec file is too large.
Resolution:
All Toolcog errors follow a consistent format:
{ "error": "error_code", "message": "Human-readable description", // Optional additional fields: "details": { ... }, "connect_url": "...", "retry_after": 60}Errors from meta-tools set isError: true:
{ "content": [{ "type": "text", "text": "Error message" }], "isError": true}| Status | Category |
|---|---|
| 400 | Client error (bad request) |
| 401 | Authentication required |
| 403 | Authorization denied |
| 404 | Resource not found |
| 429 | Rate limited |
| 500 | Server error |
If you encounter an error not listed here:
When reporting issues, include: