Feature request: Shell mode (!) should support system-level tab completion beyond history
Is your feature request related to a problem?
Currently, Claude Code's shell mode (! prefix) only provides history-based tab completion — it suggests commands that have previously been executed in the current project. It does not support system-level completion for arbitrary commands available in the system PATH, file paths, or shell builtins that haven't been executed before.
This means if I type ! git chec and press Tab, it won't autocomplete to git checkout unless I've already run that exact command in this project's history.
Describe the solution you'd like
Integrate system-level shell completion into the ! shell mode, so that pressing Tab would invoke the host shell's completion system (e.g. zsh-completions, bash-completions) to suggest:
- System commands available in
PATH - Subcommands and flags for known CLIs
- File paths and arguments
- Shell builtins and aliases
This would make the ! shell mode feel more like a native terminal experience.
Describe alternatives you've considered
- Copy-pasting commands from a system terminal into Claude Code's
!mode works but is tedious. - Using
!<command>with a partial command and letting Claude fill it in works but requires AI round-trip latency for something that should be instant.
Additional context
The built-in history completion is useful but insufficient for users who frequently run varied shell commands (system administration, one-off scripts, unfamiliar tools) where there is no prior history to complete from.
Many CLI tools provide native completion via command completion <shell>. A possible approach would be to bridge the host shell's completion context into Claude Code's ! mode input handler.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗