claude-memory/graph/configurations/fish-configfish-sets-shellbinbash-intentionally-for-tool-com-fba35b.md
2026-03-01 10:44:07 -06:00

1.7 KiB

id type title tags importance confidence created updated relations
fba35b41-aced-4f74-ae01-dfa062df0764 configuration Fish config.fish sets SHELL=/bin/bash intentionally for tool compatibility
fish
bash
workstation
shell
dotfiles
configuration
0.6 0.8 2026-02-28T04:53:15.735767+00:00 2026-03-01T16:44:07.115190+00:00
target type direction strength edge_id
acfad6b5-9a2c-4e51-9525-04b4c4112e69 RELATED_TO outgoing 0.95 9d15e63e-b70c-4ed3-b2b0-63c0aa8c0c3b
target type direction strength edge_id
66bac9cf-1b1e-42f5-903d-d28a9d5e1e1a RELATED_TO outgoing 0.9 5dee8386-3a39-414a-8acc-ddf551cc8924
target type direction strength edge_id
e6158e53-af06-40f7-bfd1-32fc481a2b3f RELATED_TO incoming 0.75 d6e68af6-ba0f-49d9-a730-dbcc38497ac1
target type direction strength edge_id
b522690f-6e80-4e70-8c92-0ed14aded8ff RELATED_TO incoming 0.8 53de981d-03de-4992-ad98-e7b75e72d75b

Fish config.fish SHELL override

Configuration

~/dotfiles/fish/config.fish contains: set -x SHELL /bin/bash

Rationale

This is intentional. Fish is the interactive shell (set via chsh to /usr/bin/fish), but $SHELL is overridden to bash so scripting tools, agents, and automated processes use bash as expected. Many tools check $SHELL to determine which shell to invoke for scripts.

Environment

  • Fish 4.2.0
  • Starship prompt
  • OS: Nobara Linux (Fedora-based)
  • Interactive shell: /usr/bin/fish
  • Scripting shell: /bin/bash (via $SHELL override)

Key Insight

$SHELL = the user's preferred scripting shell (bash), not the running interactive shell (fish). This separation avoids compatibility issues with tools that assume a POSIX shell.