vllm-project/vllm · error · Error
{kind} parsing is disabled by frontend configuration
Error message
{kind} parsing is disabled by frontend configuration What it means
EventPublisherFactory resolves the publisher kind from kv_events_config.publisher against a registry containing only 'null' and 'zmq' by default. The configured kind has no registered constructor, so no event publisher can be built.
Source
Thrown at rust/src/chat/src/error.rs:35
MissingChatTemplate,
#[error("chat template error: {0}")]
ChatTemplate(String),
#[error("multimodal input is not supported by this chat renderer")]
UnsupportedMultimodalRenderer,
#[error("unsupported multimodal content: {0}")]
UnsupportedMultimodalContent(&'static str),
#[error("`{modality}` input is not supported by this model")]
UnsupportedModality { modality: String },
#[error("At most {limit} {modality}(s) may be provided in one prompt.")]
MmLimitExceeded { modality: String, limit: usize },
#[error("multimodal preprocessing error: {0}")]
Multimodal(#[message] String),
#[error("{kind} parsing is not available for model `{model_id}`")]
ParserUnavailableForModel {
kind: &'static str,
model_id: String,
},
#[error("{kind} parsing is disabled by frontend configuration")]
ParserDisabled { kind: &'static str },
#[error(
"{kind} parser `{name}` is not registered{}",
available_parser_hint(.available_names)
)]
ParserUnavailableByName {
kind: &'static str,
name: String,
available_names: Vec<String>,
},
#[error("failed to initialize {kind} parser `{name}`")]
ParserInitialization {
kind: &'static str,
name: String,
#[source]
error: BoxedError,
},
#[error(View on GitHub (pinned to c794754062)
Solutions
- Use publisher='zmq' (the only built-in external publisher) or 'null' to disable
- For a custom publisher, register it with EventPublisherFactory.register_publisher(name, ctor) in the same process before the engine builds the publisher, and set publisher to that exact name
- Check EventPublisherFactory._registry keys at startup to confirm which kinds are available
Example fix
# before
publisher = "kafka" # not registered
# after
from vllm.distributed.kv_events import EventPublisherFactory, ZmqEventPublisher
EventPublisherFactory.register_publisher("myzmq", ZmqEventPublisher)
publisher = "myzmq" Defensive patterns
Strategy: validation
Validate before calling
from vllm.distributed.kv_events import EventPublisherFactory
kind = kv_events_config.publisher
assert kind in EventPublisherFactory._registry, f'unknown publisher {kind}; registered: {list(EventPublisherFactory._registry)}' Type guard
def is_registered_publisher(kind: str) -> bool:
from vllm.distributed.kv_events import EventPublisherFactory
return kind in EventPublisherFactory._registry Prevention
- Stick to built-in 'null'/'zmq' unless a plugin is registered
- Register custom publishers in the same process before engine startup
- Validate publisher names against the registry during config validation
When it happens
Trigger: Setting --kv-events-config publisher to a string other than 'null'/'zmq' (e.g. 'kafka', 'redis'); a publisher registered via register_publisher under a different name than configured; type Literal['null','zmq'] bypassed via raw dict/env config.
Common situations: Expecting a built-in publisher that does not exist in this vLLM version; plugin registered after config parsing or in a different process than the one constructing the publisher; typos in config files.
Related errors
- {kind} parsing is not available for model `{model_id}`
- Unsupported sleep-mode backend '{name}'. Registered backends
- Connector '{connector_name}' is not registered.
- Unsupported connector type: {connector_name}
- Attention backend 'XFORMERS' has been removed (See PR #29262
AI-assisted analysis of vllm-project/vllm@c794754062 (2026-08-14).
Data as JSON: /api/errors/2b73f7ef564bc4f0.
Report an issue: GitHub.