[FEATURE] Allow configurable shell for ! command prefix (Fish, Zsh, etc.)

Resolved 💬 3 comments Opened Dec 5, 2025 by RIPHeisenberg Closed Dec 9, 2025

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Currently, the ! command prefix in Claude Code only executes commands through Bash. For users who use alternative shells like Fish
or Zsh as their daily driver, this creates friction because:

  1. Shell-specific syntax doesn't work (e.g., Fish's set vs Bash's export)
  2. Custom aliases and functions from their shell config aren't available
  3. Path modifications and environment setup from their shell profile aren't loaded

Proposed Solution

Add a configuration option to specify the shell used by the ! prefix, for example:

{
"shell": "/usr/bin/fish"
}

Or an environment variable:
CLAUDE_CODE_SHELL=/usr/bin/fish

Alternative Solutions

Currently users must run !fish -c "command" for each command, which is cumbersome.

Environment:

  • OS: Linux
  • Shell: Fish

---
Want me to open the new issue page directly, or would you like to modify this first?

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗