Skip to main content

Overview

Elicitation errors are thrown during the MCP elicitation flow — the mechanism that allows tools to request additional user input during execution. These errors cover unsupported clients, timeouts, fallback flows, store initialization, encryption failures, and subscription issues.

Error Reference

ElicitationNotSupportedError

Thrown when attempting to elicit from a client that does not support elicitation or when the transport is unavailable.
Example:

ElicitationTimeoutError

Thrown when an elicitation request times out waiting for the user’s response.
Example:

ElicitationFallbackRequired

Thrown when elicitation is requested but the client doesn’t support the standard protocol. This is not a failure — it triggers the fallback flow where the tool returns instructions to the LLM, and the LLM uses sendElicitationResult to continue.
This error has a statusCode of 200 because it is not a failure — it’s a signal to switch to the fallback elicitation flow.

ElicitationStoreNotInitializedError

Thrown when attempting to access the elicitation store before scope initialization has completed. Callers should await scope.ready before accessing elicitationStore.

ElicitationDisabledError

Thrown when elicitation is used but disabled in server configuration. Enable via @FrontMcp({ elicitation: { enabled: true } }).
The internal message includes configuration guidance. The public message is: "Elicitation is disabled on this server."

ElicitationEncryptionError

Thrown when encryption or decryption of elicitation data fails — typically when the session ID is missing or key derivation fails.

ElicitationSubscriptionError

Thrown when subscription to the elicitation pub/sub channel fails. This indicates a transport or infrastructure failure, not a user non-response (which would be a timeout).