-
-
Notifications
You must be signed in to change notification settings - Fork 396
Closed
Description
Bug Description
When using fish shell, the plugin hooks fail with bun: command not found even though Bun is properly installed and configured in the fish shell PATH.
Root Cause
The plugin hooks run via /bin/sh, not the user's login shell. Fish shell users have Bun configured in ~/.config/fish/config.fish:
# bun
set --export BUN_INSTALL "$HOME/.bun"
set --export PATH $BUN_INSTALL/bin $PATHHowever, /bin/sh doesn't read fish config files, so it can't find bun even though:
- Bun is installed at
~/.bun/bin/bun - Bun works perfectly in fish shell
- The Bun installer ran successfully
Error Output
SessionStart:startup says: Plugin hook error: /bin/sh: bun: command not found
Workaround
Create a symlink to make bun available system-wide:
sudo ln -sf ~/.bun/bin/bun /usr/local/bin/bunSuggested Fix
Options to consider:
- Use absolute path: Instead of just
bun, use$HOME/.bun/bin/bunor detect the bun location - Fall back to npm: If bun isn't found, fall back to npm which is more universally available
- Document the workaround: Add fish shell compatibility note to README
- Auto-create symlink: During installation, offer to create the
/usr/local/bin/bunsymlink
Environment
- claude-mem version: 7.1.3
- Claude Code version: 2.0.69
- Shell: fish 3.x
- Platform: macOS
- Bun version: 1.3.4 (installed at ~/.bun/bin/bun)
Additional Context
This likely affects any shell that isn't bash/zsh, since /bin/sh typically only reads POSIX-compatible configs. The switch from PM2 to Bun in v7.x introduced this regression for non-bash/zsh users.
Copilot
Metadata
Metadata
Assignees
Labels
No labels