herdrdev/herdr · warning · io::Error
opening scrollback in an editor is not supported on this pla
Error message
opening scrollback in an editor is not supported on this platform
What it means
scrollback_editor_argv on the fallback (unsupported) platform always returns Unsupported instead of an argv for opening scrollback in an editor. It is a stub compiled for platforms where Herdr has no editor integration, so any caller attempting to open scrollback externally gets this error.
Source
Thrown at src/platform/fallback.rs:153
let argv = raw_command_argv(command, "-lc");
let mut command = std::process::Command::new(&argv[0]);
command.args(&argv[1..]);
command
}
pub(crate) fn pane_custom_command_pty_builder_platform(
command: &str,
) -> portable_pty::CommandBuilder {
portable_pty::CommandBuilder::from_argv(raw_command_argv(command, "-c"))
}
pub(crate) fn interactive_shell_command(_argv: &[String], _shell_name: &str) -> Option<String> {
None
}
/// Unsupported platform stub.
pub(crate) fn scrollback_editor_argv(_path: &std::path::Path) -> std::io::Result<Vec<String>> {
Err(std::io::Error::new(
std::io::ErrorKind::Unsupported,
"opening scrollback in an editor is not supported on this platform",
))
}
/// Unsupported platform stub.
pub fn detach_server_daemon_command(_command: &mut Command) {}
/// Unsupported platform stub.
pub fn current_process_is_detached_server_daemon() -> bool {
false
}
pub(crate) fn available_pane_shell(_child_pid: u32) -> Option<String> {
None
}
/// Unsupported platform stub.View on GitHub (pinned to f457cff4f2)
Solutions
- Build/run Herdr on a supported platform (Linux, macOS, Windows) where scrollback_editor_argv is implemented
- If porting Herdr, implement scrollback_editor_argv in a new src/platform/<os>.rs and wire it into the platform selection
- Disable or hide the open-in-editor affordance when std::io::ErrorKind::Unsupported is returned
Defensive patterns
Strategy: fallback
Validate before calling
// capability probe before exposing the action
let supported = scrollback_editor_argv(std::path::Path::new("probe"))
.map(|_| true)
.map_err(|e| e.kind() == std::io::ErrorKind::Unsupported)
.is_ok(); Try / catch
match scrollback_editor_argv(path) {
Ok(argv) => open_editor(argv),
Err(e) if e.kind() == std::io::ErrorKind::Unsupported => hide_action_or_inform_user(),
Err(e) => log_and_report(e),
} Prevention
- Gate the open-in-editor affordance on a one-time capability probe
- On fallback platforms, offer copy-scrollback-to-file as an alternative
- Centralize ErrorKind::Unsupported handling for all platform stubs
When it happens
Trigger: Triggering the 'open scrollback in editor' action on a platform compiled against src/platform/fallback.rs (an OS outside windows/macos/linux/unix targets). Any keybinding or command that resolves the editor argv will immediately fail.
Common situations: Building Herdr for an exotic target (e.g. some BSDs, wasm, or a new OS port) that maps to the fallback platform module; attempting editor scrollback there. End users on supported platforms never see it.
Related errors
- opening URLs is not supported on this platform
- failed to create unique scrollback temp file
- failed to parse editor command {editor:?}
- editor command must not be empty
AI-assisted analysis of herdrdev/herdr@f457cff4f2 (2026-08-28).
Data as JSON: /api/errors/4c1f0d64135bcab4.
Report an issue: GitHub.