1.9 KiB
1.9 KiB
| id | type | title | tags | importance | confidence | created | updated | relations | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| acfad6b5-9a2c-4e51-9525-04b4c4112e69 | decision | Decision: fish config.fish exports SHELL=/bin/bash for tool compatibility |
|
0.6 | 0.8 | 2026-02-27T05:55:50.719305+00:00 | 2026-02-28T04:53:40.764907+00:00 |
|
Decision: fish config.fish exports SHELL=/bin/bash for tool compatibility
Decision
~/.config/fish/config.fish has set -x SHELL /bin/bash on line 1.
Rationale
Tools that spawn subshells based on $SHELL (tmux panes, editors like Neovim, some scripts) will use bash rather than fish. Fish is the interactive shell for Cal's terminal experience, but bash remains the scripting/subshell language. This avoids breakage in tools that assume POSIX-ish shell behaviour when they read $SHELL.
Scope
- Fish is the interactive login shell (set via
chsh) - Bash is the subshell/scripting shell (exported via
$SHELL) - Claude Code is unaffected — it spawns its own internal bash regardless of the user's
$SHELL
Do Not Change
Do not update this line to /usr/bin/fish. If tooling issues arise with bash subshells, investigate the specific tool rather than removing this override.
File
/home/cal/.config/fish/config.fish, line 1