store: Decision: fish config.fish exports SHELL=/bin/bash for tool compatibility
This commit is contained in:
parent
654b3ed2ba
commit
df30264096
@ -0,0 +1,29 @@
|
||||
---
|
||||
id: acfad6b5-9a2c-4e51-9525-04b4c4112e69
|
||||
type: decision
|
||||
title: "Decision: fish config.fish exports SHELL=/bin/bash for tool compatibility"
|
||||
tags: [fish, bash, dotfiles, workstation, shell, config]
|
||||
importance: 0.6
|
||||
confidence: 0.8
|
||||
created: "2026-02-27T05:55:50.719305+00:00"
|
||||
updated: "2026-02-27T05:55:50.719305+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
|
||||
Loading…
Reference in New Issue
Block a user