Skip to content

[Bug] Paseo kit: daemon starts without SHELL, so Paseo terminals open /bin/sh instead of the login shell #565

Open

Description

@basiliskus

What happened?

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

  1. acq run an msb sandbox with the paseo kit (agentic-coding-patterns integrations/isolation/acq-kits/paseo at ef3aa290).
  2. Open a terminal in the Paseo web UI and run echo $0. It prints /bin/sh.
  3. 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions