zellij-org/zellij · error · anyhow::Error
Action missing action_type
Error message
Action missing action_type
What it means
Error "Action missing action_type" thrown in zellij-org/zellij.
Source
Thrown at zellij-utils/src/ipc/protobuf_conversion.rs:2245
Self {
action_type: Some(action_type),
}
}
}
impl TryFrom<crate::client_server_contract::client_server_contract::Action>
for crate::input::actions::Action
{
type Error = anyhow::Error;
fn try_from(
action: crate::client_server_contract::client_server_contract::Action,
) -> Result<Self> {
use crate::client_server_contract::client_server_contract::action::ActionType;
let action_type = action
.action_type
.ok_or_else(|| anyhow!("Action missing action_type"))?;
match action_type {
ActionType::Quit(_) => Ok(crate::input::actions::Action::Quit),
ActionType::Write(write_action) => Ok(crate::input::actions::Action::Write {
key_with_modifier: write_action
.key_with_modifier
.map(|k| k.try_into())
.transpose()?,
bytes: write_action.bytes.into_iter().map(|b| b as u8).collect(),
is_kitty_keyboard_protocol: write_action.is_kitty_keyboard_protocol,
}),
ActionType::WriteChars(write_chars_action) => {
Ok(crate::input::actions::Action::WriteChars {
chars: write_chars_action.chars,
})
},
ActionType::WriteToPaneId(write_to_pane_id_action) => {
Ok(crate::input::actions::Action::WriteToPaneId {View on GitHub (pinned to e839bfffa5)
Solutions
- Include the required 'action_type' 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/75fdbd3b73a8b5fc.
Report an issue: GitHub.