zellij-org/zellij · error
Run missing run_type
Error message
Run missing run_type
What it means
Error "Run missing run_type" thrown in zellij-org/zellij.
Source
Thrown at zellij-utils/src/ipc/protobuf_conversion.rs:4528
cwd: f.cwd.map(std::path::PathBuf::from),
},
)),
}
}
}
// Run reverse conversion
impl TryFrom<crate::client_server_contract::client_server_contract::Run>
for crate::input::layout::Run
{
type Error = anyhow::Error;
fn try_from(run: crate::client_server_contract::client_server_contract::Run) -> Result<Self> {
use crate::client_server_contract::client_server_contract::run::RunType;
let run_type = run
.run_type
.ok_or_else(|| anyhow!("Run missing run_type"))?;
match run_type {
RunType::Command(cmd) => Ok(crate::input::layout::Run::Command(
crate::input::command::RunCommand {
command: std::path::PathBuf::from(cmd.command),
args: cmd.args,
cwd: cmd.cwd.map(std::path::PathBuf::from),
hold_on_close: cmd.hold_on_close,
hold_on_start: cmd.hold_on_start,
originating_plugin: cmd
.originating_plugin
.map(|op| op.try_into())
.transpose()?,
use_terminal_title: cmd.use_terminal_title,
},
)),
RunType::EditFile(edit) => Ok(crate::input::layout::Run::EditFile(
std::path::PathBuf::from(edit.file_path),
edit.line_number.map(|n| n as usize),View on GitHub (pinned to e839bfffa5)
Solutions
- Include the required 'run_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/fdc00310d2e697c1.
Report an issue: GitHub.