zellij-org/zellij · error · anyhow::Error
LaunchOrFocusPlugin missing plugin
Error message
LaunchOrFocusPlugin missing plugin
What it means
Error "LaunchOrFocusPlugin missing plugin" thrown in zellij-org/zellij.
Source
Thrown at zellij-utils/src/ipc/protobuf_conversion.rs:2651
Ok(crate::input::actions::Action::SwitchSession {
name: switch_session_action.name.clone(),
tab_position: switch_session_action.tab_position.map(|p| p as usize),
pane_id: switch_session_action
.pane_id
.as_ref()
.map(|p| (p.pane_id, p.is_plugin)),
layout: switch_session_action
.layout
.map(|l| l.try_into())
.transpose()?,
cwd: switch_session_action.cwd.map(PathBuf::from),
})
},
ActionType::LaunchOrFocusPlugin(launch_plugin_action) => {
Ok(crate::input::actions::Action::LaunchOrFocusPlugin {
plugin: launch_plugin_action
.plugin
.ok_or_else(|| anyhow!("LaunchOrFocusPlugin missing plugin"))?
.try_into()?,
should_float: launch_plugin_action.should_float,
move_to_focused_tab: launch_plugin_action.move_to_focused_tab,
should_open_in_place: launch_plugin_action.should_open_in_place,
close_replaced_pane: launch_plugin_action.close_replaced_pane,
skip_cache: launch_plugin_action.skip_cache,
tab_id: launch_plugin_action.tab_id.map(|t| t as usize),
})
},
ActionType::LaunchPlugin(launch_plugin_action) => {
Ok(crate::input::actions::Action::LaunchPlugin {
plugin: launch_plugin_action
.plugin
.ok_or_else(|| anyhow!("LaunchPlugin missing plugin"))?
.try_into()?,
should_float: launch_plugin_action.should_float,
should_open_in_place: launch_plugin_action.should_open_in_place,
close_replaced_pane: launch_plugin_action.close_replaced_pane,View on GitHub (pinned to e839bfffa5)
Solutions
- Include the required 'plugin' 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/3344d86f772515ff.
Report an issue: GitHub.