store: Fish config.fish sets SHELL=/bin/bash intentionally for tool compatibility

This commit is contained in:
Cal Corum 2026-02-27 22:53:15 -06:00
parent 5e6c73a7eb
commit cd59e9be53

View File

@ -0,0 +1,28 @@
---
id: fba35b41-aced-4f74-ae01-dfa062df0764
type: configuration
title: "Fish config.fish sets SHELL=/bin/bash intentionally for tool compatibility"
tags: [fish, bash, workstation, shell, dotfiles, configuration]
importance: 0.6
confidence: 0.8
created: "2026-02-28T04:53:15.735767+00:00"
updated: "2026-02-28T04:53:15.735767+00:00"
---
# 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.