Files
hermes-agent/tools
sgaofen 7456081d2a fix(ssh): forward skill/config env passthrough over SendEnv (#14091)
The SSH backend spawned `ssh … bash -c` with no env forwarding at all, so a
skill's `required_environment_variables` (and `terminal.env_passthrough`)
reached local and docker shells but never a remote host — the skill reported
ready while every remote command saw the variables unset.

Names travel as `-o SendEnv=NAME`; values ride the ssh client's own
environment, so no secret ever enters the remote `bash -c` argv. Hermes
provider credentials stay behind the same blocklist docker uses, `.env`
fills in variables unset in the shell, and profile-scoped names missing
from the active scope are unset remotely under multiplex. The remote sshd
must `AcceptEnv` the names (documented).

A ControlMaster only relays the SendEnv names it was started with, so
passthrough commands ride a per-name-set master socket (verified live
against a real sshd: the shared master silently dropped every variable).

Salvaged from #14414 by @sgaofen.
2026-09-05 15:54:39 +05:30
..