Add `nu` (nushell) as a supported value for `defaultShell`
Feature request
defaultShell in settings.json currently accepts only "bash" and "powershell". Please add "nu" (or a more general "use $SHELL" option) so users whose login shell is nushell can run !-prefixed input-box commands in their actual shell.
Why
Nushell is increasingly common as a daily-driver shell on macOS/Linux. When my $SHELL=/opt/homebrew/bin/nu and I type !apilogs (where apilogs is a nu alias/custom command), Claude Code routes it through bash/zsh, which doesn't know about my nu aliases — so the command fails with command not found.
Current workarounds are clunky:
!nu -c "apilogs"for every invocation- Convert every nu alias into a standalone executable script
Proposed behavior
"defaultShell": "nu" would invoke commands via nu -c "<command>" (or equivalent), letting users keep their existing nu aliases and custom commands.
Notes
- This only needs to affect the
!input-box path. The Bash tool (used by the model) can keep requiring POSIX semantics — hooks,jqpipelines, etc. rely on it. - Similarly, hook
shellfield could optionally accept"nu", but that's a separate, lower-priority ask.
Environment
- Claude Code on macOS (Darwin 25.4.0)
- Shell:
/opt/homebrew/bin/nu
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗