Sometimes you just need to run a command yourself: check git status, list a directory, see what a test does right now. You do not have to leave Claude to do it. Start a line with ! and the rest runs as a shell command.
!git status
!npm test
The command runs and its output appears right in the session. The point that makes this powerful: that output becomes part of the conversation, so Claude can see it too. You run the command, and Claude works from what it produced, no copy-paste required.
This is handy when:
- You want to check state before asking. Run
!git diffyourself, then say "clean this up and split it into two commits." - You are steering, not delegating. For a quick one-liner you already know, running it yourself is faster than asking Claude to.
- You want Claude grounded in reality. Run
!ls scripts/or!cat package.json, and now the following request is anchored to the real output instead of an assumption.
A common flow is to gather a bit of context with !, then hand off:
!npm run build
Then, once you see the errors: "fix these build errors." Claude already has the output in front of it.
Bash mode keeps you in one place. You are not alt-tabbing to another terminal and pasting results back. Your commands, Claude's commands, and the whole discussion share a single timeline. That shared history is the real benefit: everything you check by hand also informs what Claude does next, so you and Claude are always looking at the same picture.
Comments
Be the first to comment.