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
[Bug] Paseo kit: daemon starts without SHELL, so Paseo terminals open /bin/sh instead of the login shell #565
Terminals opened from the Paseo web UI run /bin/sh (dash on the devenv image) instead of the login shell, so .bashrc and ~/.rc.d drop-ins from team and personal kits (prompt, aliases, zsh) never load. The paseo kit's startup supervisor runs paseo daemon run from a non-login lifecycle command, so the daemon's environment has no SHELL, and Paseo resolves the terminal shell as env.SHELL || "/bin/sh" (resolveDefaultTerminalShell in @getpaseo/server/dist/server/terminal/terminal.js, Paseo 0.10.2).
What did you expect?
A Paseo terminal starts the account's login shell (/usr/bin/bash for agent), the same as acq shell, so kit shell drop-ins load.
Steps to reproduce
acq run an msb sandbox with the paseo kit (agentic-coding-patterns integrations/isolation/acq-kits/paseo at ef3aa290).
Open a terminal in the Paseo web UI and run echo $0. It prints /bin/sh.
In the sandbox, tr '\0' '\n' < /proc/<paseo daemon pid>/environ | grep ^SHELL= prints nothing.
Docker version
Docker version 29.8.2, build 7fc2dff9bc (not used: msb backend)
Operating System
macOS 26.7.1
SBX method
Not sure
Additional context
Backend: msb 0.7.7, acq at de6b9b3. Suggested fix: in the paseo kit's supervisor command, export the login shell before starting the daemon, for example SHELL="${SHELL:-$(getent passwd "$(id -un)" | cut -d: -f7)}". Alternatively, Paseo could fall back to os.userInfo().shell before /bin/sh (getpaseo/paseo). Workaround: set SHELL: /usr/bin/bash in a kit's environment (kit environment reaches lifecycle commands since #519).
Activity