zellij-org/zellij · error · anyhow::Error

ScrollDownByPaneId missing pane_id

Error message

ScrollDownByPaneId missing pane_id

What it means

Error "ScrollDownByPaneId missing pane_id" thrown in zellij-org/zellij.

Solutions

  1. Include the required 'pane_id' field in the protobuf message before sending it.
  2. 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/5dfb57f73b6a1f53. Report an issue: GitHub.

Appendix: source

Thrown at zellij-utils/src/ipc/protobuf_conversion.rs:3012

                        .try_into()?,
                    fg: set_pane_color_action.fg,
                    bg: set_pane_color_action.bg,
                })
            },
            // Pane-targeting CLI-only variants
            ActionType::ScrollUpByPaneId(a) => {
                Ok(crate::input::actions::Action::ScrollUpByPaneId {
                    pane_id: a
                        .pane_id
                        .ok_or_else(|| anyhow!("ScrollUpByPaneId missing pane_id"))?
                        .try_into()?,
                })
            },
            ActionType::ScrollDownByPaneId(a) => {
                Ok(crate::input::actions::Action::ScrollDownByPaneId {
                    pane_id: a
                        .pane_id
                        .ok_or_else(|| anyhow!("ScrollDownByPaneId missing pane_id"))?
                        .try_into()?,
                })
            },
            ActionType::ScrollToTopByPaneId(a) => {
                Ok(crate::input::actions::Action::ScrollToTopByPaneId {
                    pane_id: a
                        .pane_id
                        .ok_or_else(|| anyhow!("ScrollToTopByPaneId missing pane_id"))?
                        .try_into()?,
                })
            },
            ActionType::ScrollToBottomByPaneId(a) => {
                Ok(crate::input::actions::Action::ScrollToBottomByPaneId {
                    pane_id: a
                        .pane_id
                        .ok_or_else(|| anyhow!("ScrollToBottomByPaneId missing pane_id"))?
                        .try_into()?,
                })

View on GitHub (pinned to e839bfffa5)