zellij-org/zellij · error · anyhow::Error
Missing cli_assets
Error message
Missing cli_assets
What it means
Error "Missing cli_assets" thrown in zellij-org/zellij.
Source
Thrown at zellij-utils/src/ipc/protobuf_conversion.rs:246
.color_registers
.into_iter()
.map(|cr| cr.try_into())
.collect::<Result<Vec<_>>>()?,
})
},
Some(client_to_server_msg::Message::TerminalResize(resize)) => {
Ok(ClientToServerMsg::TerminalResize {
new_size: resize
.new_size
.ok_or_else(|| anyhow!("Missing new_size"))?
.try_into()?,
})
},
Some(client_to_server_msg::Message::FirstClientConnected(first_client)) => {
Ok(ClientToServerMsg::FirstClientConnected {
cli_assets: first_client
.cli_assets
.ok_or_else(|| anyhow!("Missing cli_assets"))?
.try_into()?,
is_web_client: first_client.is_web_client,
})
},
Some(client_to_server_msg::Message::AttachClient(attach)) => {
Ok(ClientToServerMsg::AttachClient {
cli_assets: attach
.cli_assets
.ok_or_else(|| anyhow!("Missing cli_assets"))?
.try_into()?,
tab_position_to_focus: attach.tab_position_to_focus.map(|pos| pos as usize),
pane_to_focus: attach.pane_to_focus.map(|p| p.try_into()).transpose()?,
is_web_client: attach.is_web_client,
})
},
Some(client_to_server_msg::Message::AttachWatcherClient(attach_watcher)) => {
Ok(ClientToServerMsg::AttachWatcherClient {
terminal_size: attach_watcherView on GitHub (pinned to e839bfffa5)
Solutions
- Include the required 'cli_assets' field in the protobuf message before sending it.
- Verify the sender populates all mandatory fields; add a presence check before conversion.
When it happens
Trigger: Occurs when a protobuf message received over IPC omits the required field; deserialization fails instead of using a default.
Common situations: Occurs when a client or plugin sends an incompletely populated message, often from a version mismatch or hand-crafted payload.
AI-assisted analysis of zellij-org/zellij@e839bfffa5 (2026-08-19).
Data as JSON: /api/errors/37174a850e61f490.
Report an issue: GitHub.