Default exeuntu image plays poorly with warp terminal ssh wrapper

GitHub issue #135 Feature Proposed crawshawvia github Jan 27, 2026 View original

Some intrepid users on discord discovered that warp wraps ssh:

ssh () {
    if is_interactive_ssh_session "$@"
    then
        warp_send_json_message "{\"hook\": \"PreInteractiveSSHSession\", \"value\": {}}"
        if [ "$WARP_USE_SSH_WRAPPER" = "1" ]
        then
            local TRACE_FLAG_IF_WARP_SHELL_DEBUG_MODE="" 
            if [[ "$WARP_SHELL_DEBUG_MODE" == "1" ]]
            then
                TRACE_FLAG_IF_WARP_SHELL_DEBUG_MODE="-x" 
            fi
            warp_ssh_helper "$@"
        else
            command ssh "$@"
        fi
    else
        command ssh "$@"
    fi
}

Which for some reason, results in messy ssh sessions with a default exe.dev VM:

debug2: channel 21: request exec confirm 1
debug2: channel_input_open_confirmation: channel 21: callback done
debug2: channel 21: open confirm rwindow 0 rmax 32768
channel 23: open failed: connect failed: open failed
debug2: channel_input_open_failure: channel 23: callback start
debug2: channel_input_open_failure: channel 23: callback done
channel 24: open failed: connect failed: open failed
debug2: channel_input_open_failure: channel 24: callback start
debug2: channel_input_open_failure: channel 24: callback done
channel 25: open failed: connect failed: open failed
debug2: channel_input_open_failure: channel 25: callback start
debug2: channel_input_open_failure: channel 25: callback done
debug2: channel 23: zombie

1 Comment

josharianvia github Jan 27, 2026

I already fixed one warp issue: https://github.com/boldsoftware/exe.dev/issues/39

Didn’t notice this when testing…I’m not impressed by warp wrapping ssh and making a bunch of assumptions about what’s on the other side.