46f31296a1
std::env::vars() panics the moment a host env key or value is not valid Unicode, before any command can run. A corrupt GHOSTTY_BIN_DIR (bytes 9d d9 50) staged by cmux/Ghostty tripped both sinks: - pi-shell's session env copy in create_session_for_run (also merged PATH) - brush-core's get_host_env_vars, which process builtins (sleep, timeout, pgrep, ...) use to inherit the host env into the shells they build Both now read via std::env::vars_os() and skip entries that cannot be decoded as Unicode: a corrupt entry carries no usable meaning. PATH merge behavior is unchanged. Regression tests inject a non-UTF-8 key and value and assert the shell still starts and PATH survives. Reported in issue #8925.