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

Invalid IP address: {}

Error message

Invalid IP address: {}

What it means

Error "Invalid IP address: {}" thrown in zellij-org/zellij.

Source

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

                    Some(ProtoWebSharing::Disabled) => Ok(crate::data::WebSharing::Disabled),
                    _ => Err(anyhow!("Invalid WebSharing value: {}", w)),
                })
                .transpose()?,
            stacked_resize: options.stacked_resize,
            stacked_pane_list: options.stacked_pane_list,
            dangerously_enable_paste_buffer_read: options.dangerously_enable_paste_buffer_read,
            show_startup_tips: options.show_startup_tips,
            show_release_notes: options.show_release_notes,
            advanced_mouse_actions: options.advanced_mouse_actions,
            mouse_scroll_resize: options.mouse_scroll_resize,
            scroll_mode_sync: options.scroll_mode_sync,
            mouse_hover_effects: options.mouse_hover_effects,
            mouse_hover_tips: options.mouse_hover_tips,
            web_server_ip: options
                .web_server_ip
                .map(|ip| ip.parse())
                .transpose()
                .map_err(|e| anyhow!("Invalid IP address: {}", e))?,
            web_server_port: options.web_server_port.map(|p| p as u16),
            web_server_cert: options.web_server_cert.map(std::path::PathBuf::from),
            web_server_key: options.web_server_key.map(std::path::PathBuf::from),
            enforce_https_for_localhost: options.enforce_https_for_localhost,
            post_command_discovery_hook: options.post_command_discovery_hook,
            client_async_worker_tasks: options.client_async_worker_tasks.map(|v| v as usize),
            visual_bell: options.visual_bell,
            focus_follows_mouse: options.focus_follows_mouse,
            mouse_click_through: options.mouse_click_through,
            osc133_command_selection: options.osc133_command_selection,
            word_separators: options.word_separators,
            host_notification_protocol: options
                .host_notification_protocol
                .map(|p| {
                    p.parse::<crate::input::options::HostNotificationProtocol>()
                        .map_err(|e| anyhow!(e))
                })
                .transpose()?,

View on GitHub (pinned to e839bfffa5)

Solutions

  1. Validate the value against the allowed enum range before constructing the message.
  2. 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/686361b015278c01. Report an issue: GitHub.