Compare commits

...

2 Commits

2 changed files with 33 additions and 0 deletions

View File

@ -215,3 +215,7 @@ Session size: 17 messages, 2 tool calls
## 23:55 - Fix: KDE caches $SHELL at login — Konsole still uses old shell after chsh
- **Type:** fix
- **Tags:** kde, konsole, fish, shell, workstation, dotfiles, chsh
## 23:55 - Decision: fish config.fish exports SHELL=/bin/bash for tool compatibility
- **Type:** decision
- **Tags:** fish, bash, dotfiles, workstation, shell, config

View File

@ -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