You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Remote-bridge servers start without the interactive login-shell environment
#5782
herdr --remote <host> starts the remote server from the SSH command shell. That shell is non-interactive, so a server started this way inherits the SSH daemon's PATH and never sees what interactive startup files add.
Anything the server starts directly then misses tools that only exist on the interactive PATH — plugin commands, custom commands, worktree git helpers. Panes are fine because their own shells read the startup files.
Start the same server by SSHing in and running herdr there, and everything works, because that server inherits the interactive login environment. Same machine, same config, different result depending only on how the server was started.
Why it matters
Plugins are the main way to extend Herdr and they run commands in the server's environment. Remote users currently have to hardcode absolute paths in plugin manifests, or start the server by hand, to make those commands resolve.
Question
Would a small opt-in setting for how a remote-bridge server sources its environment fit Herdr's direction? Keep the inherited SSH environment (today), resolve the login shell's startup, or resolve an interactive login shell's startup. The default would stay unchanged.
If this is worth pursuing, I can provide exact reproduction steps and the observed environments.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
What happens
herdr --remote <host>starts the remote server from the SSH command shell. That shell is non-interactive, so a server started this way inherits the SSH daemon'sPATHand never sees what interactive startup files add.Anything the server starts directly then misses tools that only exist on the interactive
PATH— plugin commands, custom commands, worktree git helpers. Panes are fine because their own shells read the startup files.Start the same server by SSHing in and running
herdrthere, and everything works, because that server inherits the interactive login environment. Same machine, same config, different result depending only on how the server was started.Why it matters
Plugins are the main way to extend Herdr and they run commands in the server's environment. Remote users currently have to hardcode absolute paths in plugin manifests, or start the server by hand, to make those commands resolve.
Question
Would a small opt-in setting for how a remote-bridge server sources its environment fit Herdr's direction? Keep the inherited SSH environment (today), resolve the login shell's startup, or resolve an interactive login shell's startup. The default would stay unchanged.
If this is worth pursuing, I can provide exact reproduction steps and the observed environments.
All reactions