Feature request: Bash tool should respect user's configured shell

Resolved 💬 1 comment Opened May 31, 2026 by Evil-Overlord-666 Closed Jul 4, 2026

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

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗