This repository has no description

[silverwood] Resolve the base shell from the passwd DB, not $SHELL master

The base shell is documented as a clean login shell that does not inherit the parent process's environment, but it chose the shell binary from the inherited $SHELL. A frontend launched from a nix devshell has $SHELL overwritten with the devshell's bash, so panes spawned `bash -l` instead of the user's real login shell (e.g. fish); a packaged build inherited the real $SHELL and worked. Only the value of $SHELL differed between them. Resolve the login identity (shell/home/user) from the passwd database (getpwuid) in spawn_seed(), falling back to env vars only if the lookup fails, so the base shell is genuinely independent of the launching env. Also overlay SHELL (never exported by the login shell) and a default LANG onto the captured login env, which previously had neither on the capture-success path. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBWyw3DyRvvNmgJpFZBsC5


Author Yuto Nishida Co-author Claude Opus 4.8 (1M context) Date Commit ae4f7fa9 Parent 777731b6 Change ID okwtpzqk
+144 -19
4 changed files