51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
---
|
|
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-28T04:53:40.764907+00:00"
|
|
relations:
|
|
- target: 6b1ef7c1-547f-4a79-aad7-23a720378c03
|
|
type: RELATED_TO
|
|
direction: incoming
|
|
strength: 0.9
|
|
edge_id: 694e662f-01cf-4826-a2c9-6da4c843d3bb
|
|
- target: 66bac9cf-1b1e-42f5-903d-d28a9d5e1e1a
|
|
type: BUILDS_ON
|
|
direction: outgoing
|
|
strength: 0.9
|
|
edge_id: a77fc3a3-fc45-4ea6-9a1a-2b4eb80eba64
|
|
- target: 055aea5f-7084-48ae-a096-69ee1c35e114
|
|
type: RELATED_TO
|
|
direction: outgoing
|
|
strength: 0.8
|
|
edge_id: ae5397cb-cbe5-4864-9646-c9ecdf6f054d
|
|
- target: fba35b41-aced-4f74-ae01-dfa062df0764
|
|
type: RELATED_TO
|
|
direction: incoming
|
|
strength: 0.95
|
|
edge_id: 9d15e63e-b70c-4ed3-b2b0-63c0aa8c0c3b
|
|
---
|
|
|
|
# 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
|