Bash Mode - Claude Code
Prefix prompts with ! to run shell commands directly, bypassing Claude.
Bash mode lets you drop straight into the shell without spending a turn asking Claude to run a command.
What it does
Start any prompt with ! and the rest of the line runs as a shell command. Output appears inline and is captured into the conversation so Claude can reference it on the next turn. This is faster than please run ls -la and more honest - you're not spending tokens on the interpreter round-trip.
When to use it
- Quick directory listings, git status checks, or file inspections.
- Sanity-checking the shell state before asking Claude to do real work.
- Piping output into a follow-up Claude prompt without editing files.
- Teaching Claude about your environment without explaining it.
Gotchas
- Bash mode respects your current permission rules. Denied commands still get blocked.
- The working directory is the same as Claude's Bash tool, not wherever your outer terminal sits.
- Shell state (exported vars, aliases) doesn't persist between bash-mode calls unless you use SessionStart hooks.
Official docs: https://code.claude.com/docs/en/interactive-mode.md#bash-mode-with--prefix
Technical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Get the weekly deep dive
Tutorials on Claude Code, AI agents, and dev tools - delivered free every week.
Was this helpful?




