Skip to content

fix(expert): default PATH lookup to noninteractive login shell#537

Open
CptnKirk wants to merge 1 commit intoelixir-lang:mainfrom
CptnKirk:fix/noninteractive-login-shell-path
Open

fix(expert): default PATH lookup to noninteractive login shell#537
CptnKirk wants to merge 1 commit intoelixir-lang:mainfrom
CptnKirk:fix/noninteractive-login-shell-path

Conversation

@CptnKirk
Copy link
Copy Markdown

Summary

  • Change Unix PATH discovery to use a noninteractive login shell by default.
  • Keep an opt-in escape hatch for the legacy interactive behavior via EXPERT_PATH_SHELL_MODE=interactive.
  • Add regression coverage for default, interactive, and unknown shell-mode behavior.

Why

This is a blocking fix for environments where interactive zsh startup triggers zle/plugin side effects. The previous default could wedge PATH discovery and prevent Expert from starting reliably.

A noninteractive login shell is the least surprising default for PATH discovery: we want environment setup, not interactive UI behavior. Interactive shell startup has side effects, and users who need that legacy behavior can still opt back in explicitly.

Testing

  • just compile expert --warnings-as-errors
  • just mix expert format --check-formatted
  • just test expert --warnings-as-errors

Notes

Users who need the old interactive behavior can opt back in with EXPERT_PATH_SHELL_MODE=interactive.

Avoid interactive shell startup side effects that can wedge Expert in zle-heavy environments while preserving an opt-in escape hatch for legacy interactive behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant