Feature request: Bash tool should respect user's configured shell
Summary
The Bash tool is hardcoded to bash, which breaks env inheritance for users whose primary shell is fish (or zsh, etc.).
Specifically, fish universal variables (set -Ux) are not visible to bash subprocesses, requiring awkward workarounds like wrapping every command in fish -c "...".
Requested change
A configurable shell option (e.g. via CLAUDE_SHELL env var or settings), or a Shell tool that invokes the user's $SHELL instead of bash.
Concrete impact
Fish universal vars are the idiomatic persistence mechanism on fish systems. Any workflow involving env vars set via set -Ux requires fish -c wrappers throughout, adding friction and failure modes.
Example: setting HF_TOKEN via set -Ux HF_TOKEN ... is invisible to any bun, uv, or other subprocess launched via the Bash tool, even though those same commands work correctly from a fish terminal.
Workaround
fish -c "command" in every Bash tool call — functional but tedious, and non-interactive fish doesn't load universal vars either, so it doesn't fully solve the problem.
System
CachyOS (Arch-based), Fish 4.7.1, KDE Plasma 6 on Wayland
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗