Commit Graph

12 Commits

Author SHA1 Message Date
David Tomaschik
fa6a878487 Fix SSH agent forwarding clobbered by local agent in shenv (#14)
* Fix SSH agent forwarding clobbered by local agent in shenv

ssh/rc saves the raw forwarded socket in SSH_REMOTE_AUTH_SOCK before
rewriting SSH_AUTH_SOCK to the stable symlink. shenv was ignoring that
variable, so it saw SSH_AUTH_SOCK as "our link" and fell through to the
systemd lookup, which could overwrite the symlink with a local agent
socket and silently drop the forwarded one.

Now shenv checks SSH_REMOTE_AUTH_SOCK first, giving forwarded sockets
priority over any local agent.

https://claude.ai/code/session_01RhXaFzxJA5D2BcGcz18ipA

* Fix shenv clobbering forwarded SSH socket with local agent in tmux

ssh/rc env changes (including SSH_REMOTE_AUTH_SOCK) are lost because
ssh/rc runs as a sshd child process, not the user's shell. The shell
always receives SSH_AUTH_SOCK set to the raw forwarded socket path.

Fresh SSH login worked fine (step 1 catches the raw socket). The bug
was in tmux new windows: SSH_AUTH_SOCK there is our stable symlink, so
step 1 fails, then steps 2/3 look up the system agent and overwrite the
symlink that ssh/rc just set to the forwarded socket.

Fix: only run the system agent lookup when the stable symlink is already
broken. A valid symlink means ssh/rc (or a previous shenv run) already
set it correctly; don't clobber it.

https://claude.ai/code/session_01RhXaFzxJA5D2BcGcz18ipA

* Remove pointless exports from ssh/rc, add process-model comment

ssh/rc runs as a sshd child process so exports never reach the user's
shell. SSH_REMOTE_AUTH_SOCK was set and exported but never used (a
leftover from a prior failed fix attempt). SSH_AUTH_SOCK was reassigned
to the symlink path and exported, also to no effect. Remove both.

https://claude.ai/code/session_01RhXaFzxJA5D2BcGcz18ipA

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-18 19:20:43 -07:00
David Tomaschik
37c765ae29 Update for bundles 2026-04-07 16:02:49 -07:00
David Tomaschik
ce973d5bbf Update shenv SSH_AUTH_SOCK code 2026-03-31 14:06:57 -07:00
David Tomaschik
7f76b24cb9 Update SSH_AUTH_SOCK logic 2026-03-31 13:41:36 -07:00
David Tomaschik
31aeca1b73 Fix shenv 2026-02-27 17:22:35 -08:00
David Tomaschik
7006974bb3 Fix shell startup. 2026-02-27 16:12:42 -08:00
David Tomaschik
00696b23fa Updates 2026-02-20 17:15:39 -08:00
David Tomaschik
e270bac5f2 Setup XDG_ on Darwin 2025-09-25 02:53:39 -07:00
David Tomaschik
ce13fbc610 Update 2024-05-09 13:19:17 -07:00
David Tomaschik
e87b4cb3d4 add C.utf8 to shenv 2023-07-21 10:39:43 -07:00
David Tomaschik
3015e7a1c0 Default disable SSH forwarding in earthly 2023-03-20 11:11:42 -07:00
David Tomaschik
b628453b10 Rename .env to .shenv.
Requires updating symlinks.

Fixes #13.
2022-10-19 10:08:21 -07:00