A device host added over SSH refuses to connect and the summary says "Could not connect to this host over SSH." The transport is fine - plain ssh host echo ok succeeds from the same machine, with the same key and the same hostname. Node is installed on the remote host and an interactive shell finds it without trouble. This is pingdotgg/t3code#20373.
Why it happens
The probe runs a small remote command before it runs node, and that command prints Node is missing from the non-interactive SSH PATH and exits when Node is not on the PATH. The error mapping then turns every probe failure into the same connection message, so the real reason only appears in the trace while the summary claims the host is unreachable. A working SSH connection gets reported as a failed one.
The PATH miss is a shell-profile effect. ssh host command runs a non-interactive, non-login shell. zsh reads only ~/.zshenv in that mode - ~/.zprofile and ~/.zshrc are never sourced - so an export PATH=... placed in either of those, which is where Node managers usually put it, is invisible to the probe. The same command typed at an interactive login shell finds Node, which is what makes the failure look impossible.
The fix
Export the PATH from ~/.zshenv on the remote machine so non-interactive sessions pick it up too:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshenv
Adjust the path to wherever which node points from an interactive shell. ~/.zshenv is sourced for every zsh invocation, so this does not change interactive behaviour.
Two habits follow from this one. When a remote probe claims a host is unreachable but the transport works, read the trace rather than the summary - the first failure message is usually the true one and the mapping above flattens it. And when tooling has to find a binary over ssh host command, treat the non-interactive PATH as a separate environment from the one you get at a prompt. The same trap shows up in CI runners, authorized_keys forced commands, and anything launched from launchd or systemd - each runs a shell class that skips the profile files people rely on.