Legacy error codes from the v1 runtime layer. These still surface in @copilotkit/* packages since they wrap v2 internally. Defined in packages/v1/shared/src/utils/errors.ts.
- HTTP Status: 503
- Severity: CRITICAL (banner)
- Cause: Server unreachable, DNS failure, connection timeout, SSL/TLS issues
- Resolution: Verify the runtime server is running and accessible. Check
runtimeUrlinCopilotKitProvider. Common sub-causes:ECONNREFUSED-- Server not running on the expected portENOTFOUND-- DNS cannot resolve the hostnameETIMEDOUT-- Server overloaded or network issues
- Docs: https://docs.copilotkit.ai/troubleshooting/common-issues#i-am-getting-a-network-errors--api-not-found
- HTTP Status: 404
- Severity: CRITICAL (banner)
- Cause: The runtime URL returns 404. Wrong basePath or the server is not serving CopilotKit at that path.
- Resolution: Ensure
basePathincreateCopilotEndpoint()matches theruntimeUrlin the provider. - Docs: https://docs.copilotkit.ai/troubleshooting/common-issues#i-am-getting-a-network-errors--api-not-found
- HTTP Status: 500
- Severity: CRITICAL (banner)
- Cause: The requested agent name does not exist in the runtime's agent registry.
- Resolution: Verify the agent name matches between
CopilotChat agentIdand the runtime'sagentsmap. The error message lists available agents. - Docs: https://docs.copilotkit.ai/coagents/troubleshooting/common-issues#i-am-getting-agent-not-found-error
- HTTP Status: 404
- Severity: CRITICAL (banner)
- Cause: The CopilotKit API endpoint itself cannot be discovered. Usually a routing/basePath mismatch.
- Resolution: Check that the runtime's Hono/Express app is mounted at the correct path. The error includes the URL that failed.
- Docs: https://docs.copilotkit.ai/troubleshooting/common-issues#i-am-getting-a-network-errors--api-not-found
- HTTP Status: 404
- Severity: CRITICAL (banner)
- Cause: A remote endpoint specified in the runtime configuration cannot be contacted.
- Resolution: Verify the remote endpoint URL is correct and the service is running. Check firewall/network rules.
- Docs: https://docs.copilotkit.ai/troubleshooting/common-issues#i-am-getting-copilotkits-remote-endpoint-not-found-error
- HTTP Status: 401
- Severity: CRITICAL (banner)
- Cause: Authentication failed when contacting the runtime or a remote service.
- Resolution: Check API keys, tokens, and authentication headers.
- Docs: https://docs.copilotkit.ai/troubleshooting/common-issues#authentication-errors
- HTTP Status: 400
- Severity: INFO (dev only)
- Cause:
@copilotkit/*packages are on different versions. - Resolution: Ensure all
@copilotkit/*packages are the same version. Runnpm ls @copilotkit/runtime @copilotkit/react.
- HTTP Status: 400
- Severity: WARNING (banner)
- Cause: Invalid runtime or provider configuration.
- Resolution: Review the CopilotRuntime and CopilotKitProvider configuration.
- HTTP Status: 400
- Severity: CRITICAL (banner)
- Cause: The
publicApiKeyprop is missing fromCopilotKitProviderwhen using CopilotKit Cloud. - Resolution: Add
publicApiKeyto the provider, or switch to self-hosted mode withruntimeUrl.
- HTTP Status: 402
- Severity: WARNING (banner)
- Cause: The current plan does not support the requested feature.
- Resolution: Upgrade the CopilotKit plan or remove the feature flag.
- HTTP Status: 400
- Severity: WARNING (dev only)
- Cause: Incorrect API usage detected at development time (e.g., using a hook outside its provider).
- Resolution: Follow the error message guidance -- typically a component is being used outside the required provider.
- HTTP Status: 500
- Severity: CRITICAL (toast)
- Cause: Unclassified server error.
- Resolution: Check server logs for the underlying exception.
All defined in packages/v1/shared/src/utils/errors.ts:
| Class | Extends | When Thrown |
|---|---|---|
CopilotKitError |
GraphQLError |
Base class for all structured errors |
CopilotKitMisuseError |
CopilotKitError |
Wrong usage of components/hooks |
CopilotKitVersionMismatchError |
CopilotKitError |
Package version incompatibility |
CopilotKitApiDiscoveryError |
CopilotKitError |
Runtime endpoint not found (404, routing) |
CopilotKitRemoteEndpointDiscoveryError |
CopilotKitApiDiscoveryError |
Remote agent endpoint unreachable |
CopilotKitAgentDiscoveryError |
CopilotKitError |
Named agent not in registry |
CopilotKitLowLevelError |
CopilotKitError |
Pre-HTTP errors (DNS, connection refused) |
ResolvedCopilotKitError |
CopilotKitError |
HTTP error responses (status-code based) |
ConfigurationError |
CopilotKitError |
Invalid configuration |
MissingPublicApiKeyError |
ConfigurationError |
Cloud mode without API key |
UpgradeRequiredError |
ConfigurationError |
Plan limitation |
Used by @copilotkit/core. Defined in packages/v2/core/src/core/core.ts. These are emitted via the onError subscriber callback.
- Cause: The
/infoendpoint returned an error or was unreachable. - Resolution: Verify
runtimeUrlpoints to a running CopilotRuntime. Check CORS if cross-origin. The/infoendpoint must return agent metadata and runtime version.
- Cause: WebSocket or HTTP connection to the agent failed during the connect phase.
- Resolution: For Intelligence mode, verify the WebSocket URL (
wsUrl) is correct. For SSE mode, check that the agent exists in the runtime.
- Cause: The agent run threw an exception before completing.
- Resolution: Check server-side logs for the agent execution error. Common causes: missing API keys for the LLM provider, invalid model configuration.
- Cause: The AG-UI stream contained a
RunFailedEvent(the agent explicitly signaled failure). - Resolution: The event payload contains the failure reason. Check the agent's implementation for error handling.
- Cause: The AG-UI stream contained a
RunErrorEvent(non-fatal error during the run). - Resolution: Check the error message in the event. May be transient -- the agent might recover.
- Cause: The JSON arguments for a frontend tool call could not be parsed.
- Resolution: Check the tool's parameter schema. The LLM may have generated malformed JSON.
- Cause: A frontend tool's
executehandler threw an exception. - Resolution: Check the tool's handler code. The error is caught and reported via
onError.
- Cause: The agent called a tool that is not registered in the frontend.
- Resolution: Ensure
useFrontendToolis registered with the correct name before the agent runs.
- Cause: The
agentIdpassed toCopilotChatoruseAgentdoes not match any agent in the runtime. - Resolution: Check the runtime's
/infoendpoint to see available agents. Match theagentIdprop.
- Cause: Generic transcription failure.
- Resolution: See TranscriptionErrorCode section below for specific sub-codes.
- Cause: Voice transcription requested but no
transcriptionServiceconfigured in the runtime. - Resolution: Add a transcription service to the runtime constructor.
- Cause: Audio format not supported by the transcription provider.
- Resolution: Check supported audio formats (typically webm, wav, mp3).
- Cause: Transcription provider rate limit exceeded.
- Resolution: Wait and retry. Consider caching or reducing request frequency.
- Cause: Authentication with the transcription provider failed.
- Resolution: Check the transcription API key configuration.
- Cause: Network error during transcription API call.
- Resolution: Check connectivity to the transcription provider.
Used by @copilotkit/shared and @copilotkit/react. Defined in packages/v2/shared/src/transcription-errors.ts.
| Code | Retryable | Description |
|---|---|---|
service_not_configured |
No | No transcription service in runtime |
invalid_audio_format |
No | Unsupported audio format |
audio_too_long |
No | Audio file exceeds maximum duration |
audio_too_short |
No | Audio too short to transcribe |
rate_limited |
Yes | Provider rate limit hit |
auth_failed |
No | Provider authentication failed |
provider_error |
Yes | Provider returned an error |
network_error |
Yes | Network failure during transcription |
invalid_request |
No | Malformed request to transcription endpoint |
Used by @copilotkit/runtime for Intelligence mode. Defined in packages/v2/runtime/src/intelligence-platform/client.ts.
| Status | Meaning |
|---|---|
| 404 | Thread not found |
| 409 | Thread already exists (race condition -- handled automatically by getOrCreateThread) |
| 401 | Invalid API key or tenant ID |
| 500 | Platform server error |
These are frequently reported bugs from the CopilotKit issue tracker:
- Issue: #3519
- Symptom:
copilotkit_emit_message,copilotkit_emit_state,copilotkit_emit_tool_callnever reach the frontend - Cause: Python SDK dispatches events with
"copilotkit_"prefix butag-ui-langgraphexpects names without the prefix - Resolution: Update
ag-ui-langgraphor patch the event name mapping
- Issue: #3510
- Symptom:
defineTooltool calls fail without error or response - Resolution: Check tool parameter schema validation and network responses
- Issue: #3323
- Symptom: Agent stalls permanently after Anthropic reasoning/thinking tokens
- Cause:
REASONING_*events in the AG-UI SSE stream are not handled correctly - Resolution: Update to a version with reasoning event handling fixes
- Issue: #3442
- Symptom:
useFrontendToolwithrenderAndWaitForResponsedoes not execute after user confirms - Resolution: Check the HITL flow implementation and
runIdconsistency (related: #3456)
- Issue: #3170
- Symptom: Auth headers from the client do not reach agents using A2A protocol
- Resolution: Verify header forwarding configuration in runtime middleware
- Issue: #3217
- Symptom:
LangChainAdapterthrows "Unknown provider undefined" in v1.50.0+ - Cause: Custom adapters without
provider/modelproperties hit a code path that assumes they exist - Resolution: Migrate to v2
BuiltInAgentor add.provider/.modelto the adapter
- Issue: #3424
- Symptom: OpenAI
BadRequestErrorwhen mixing frontend and backend tools with LangGraph - Resolution: Check tool registration and ensure tools are not duplicated across frontend and backend
- Issue: #3426
- Symptom: Context state does not propagate to Mastra agents
- Resolution: Verify context is being passed through the runtime middleware chain
- Issue: #3429
- Symptom:
Cannot read properties of null (reading 'subscribe')during A2A integration - Resolution: Check agent lifecycle and ensure proper initialization order
- Issue: #3318
- Symptom: Typing with IME on mobile devices clears input in CopilotChat
- Resolution: Known v2 issue with controlled input handling during IME composition
- Issue: #3410
- Symptom: All messages share the same ID when using
@ai-sdk/openai-compatible - Cause: Default message ID from the compatible provider is not unique
- Resolution: Update to a patched version or use the native OpenAI provider