zellij-org/zellij · error
Invalid SearchOption: {}
Error message
Invalid SearchOption: {} What it means
Error "Invalid SearchOption: {}" thrown in zellij-org/zellij.
Source
Thrown at zellij-utils/src/ipc/protobuf_conversion.rs:3623
let proto_direction = match direction {
x if x == ProtoSearchDirection::Up as i32 => ProtoSearchDirection::Up,
x if x == ProtoSearchDirection::Down as i32 => ProtoSearchDirection::Down,
_ => return Err(anyhow!("Invalid SearchDirection: {}", direction)),
};
match proto_direction {
ProtoSearchDirection::Up => Ok(crate::input::actions::SearchDirection::Up),
ProtoSearchDirection::Down => Ok(crate::input::actions::SearchDirection::Down),
ProtoSearchDirection::Unspecified => Err(anyhow!("Unspecified search direction")),
}
}
fn proto_i32_to_search_option(option: i32) -> Result<crate::input::actions::SearchOption> {
use crate::client_server_contract::client_server_contract::SearchOption as ProtoSearchOption;
let proto_option = match option {
x if x == ProtoSearchOption::CaseSensitivity as i32 => ProtoSearchOption::CaseSensitivity,
x if x == ProtoSearchOption::WholeWord as i32 => ProtoSearchOption::WholeWord,
x if x == ProtoSearchOption::Wrap as i32 => ProtoSearchOption::Wrap,
_ => return Err(anyhow!("Invalid SearchOption: {}", option)),
};
match proto_option {
ProtoSearchOption::CaseSensitivity => {
Ok(crate::input::actions::SearchOption::CaseSensitivity)
},
ProtoSearchOption::Wrap => Ok(crate::input::actions::SearchOption::Wrap),
ProtoSearchOption::WholeWord => Ok(crate::input::actions::SearchOption::WholeWord),
ProtoSearchOption::Unspecified => Err(anyhow!("Unspecified search option")),
}
}
fn proto_i32_to_unblock_condition(condition: i32) -> Result<crate::data::UnblockCondition> {
use crate::client_server_contract::client_server_contract::UnblockCondition as ProtoUnblockCondition;
let proto_condition = match condition {
x if x == ProtoUnblockCondition::OnExitSuccess as i32 => {
ProtoUnblockCondition::OnExitSuccess
},
x if x == ProtoUnblockCondition::OnExitFailure as i32 => {View on GitHub (pinned to e839bfffa5)
Solutions
- Validate the value against the allowed enum range before constructing the message.
- Ensure client and server use matching protobuf definitions; regenerate bindings if versions differ.
When it happens
Trigger: Occurs when a protobuf enum value received over IPC has no matching variant; conversion rejects the unknown value.
Common situations: Typical of version skew between client and server, or a malformed/corrupted IPC message.
AI-assisted analysis of zellij-org/zellij@e839bfffa5 (2026-08-19).
Data as JSON: /api/errors/adab74ebcb20586e.
Report an issue: GitHub.