zellij-org/zellij · error · anyhow::Error
Failed to serialize pane scrollback response
Error message
Failed to serialize pane scrollback response: {} What it means
Error "Failed to serialize pane scrollback response: {}" thrown in zellij-org/zellij.
Solutions
- Check the attached error for the underlying serialization failure and fix the offending data.
- Ensure plugin/wasm artifacts and zellij versions are compatible.
When it happens
Trigger: Occurs at zellij-server/src/plugins/zellij_exports.rs:4190 when the operation fails: "Failed to serialize pane scrollback response: {}". Currently there is no defensive handling preventing or contextualizing this failure before it surfaces.
Common situations: Typically version skew, corrupted data, or an unexpected payload shape.
AI-assisted analysis of zellij-org/zellij@5cb5df5cce (2026-08-19).
Data as JSON: /api/errors/3193d3faf46b301a.
Report an issue: GitHub.
Appendix: source
Thrown at zellij-server/src/plugins/zellij_exports.rs:4190
pane_id
))
},
Err(RecvTimeoutError::Disconnected) => {
log::error!(
"GetPaneScrollback channel disconnected for plugin {} requesting pane {:?}",
env.plugin_id,
pane_id
);
PaneScrollbackResponse::Err(format!(
"Channel disconnected while retrieving scrollback for pane {:?}",
pane_id
))
},
};
// Convert to protobuf and write back to plugin
ProtobufPaneScrollbackResponse::try_from(response)
.map_err(|e| anyhow!("Failed to serialize pane scrollback response: {}", e))
.and_then(|serialized| {
wasi_write_object(env, &serialized.encode_to_vec())?;
Ok(())
})
.with_context(err_context)
.non_fatal();
}
fn write_to_pane_id(env: &PluginEnv, bytes: Vec<u8>, pane_id: PaneId) {
let (completion_tx, completion_rx) = oneshot::channel();
let send_result = env.senders.send_to_screen(ScreenInstruction::WriteToPaneId(
bytes,
pane_id,
Some(NotificationEnd::new(completion_tx)),
));
if send_result.is_ok() {
let wait_forever = false;
let _ = wait_for_action_completion(completion_rx, "write_to_pane_id", wait_forever);View on GitHub (pinned to 5cb5df5cce)