fix(core): spawn shell non-interactively without sourcing rc files

ShellSelect.args() ran zsh/bash with -l and explicitly sourced .zshrc/.bashrc,
loading user functions and aliases that can shadow builtins and return non-zero
exit codes, breaking && chains. Match the old tool behavior: plain non-login
non-interactive shell -c command with cwd passed via spawn options.
This commit is contained in:
Dax Raad 2026-06-29 12:05:34 -04:00
commit 01edae4a7f
4 changed files with 8 additions and 37 deletions

View file

@ -159,7 +159,7 @@ export const layer = Layer.effect(
const cwd = input.cwd ?? location.directory
const configShell = Config.latest(yield* config.entries(), "shell")
const shell = ShellSelect.preferred(configShell)
const args = ShellSelect.args(shell, input.command, cwd)
const args = ShellSelect.args(shell, input.command)
const file = path.join(outputDir, `${id}.out`)
const env = {
...process.env,