The Bash tool runs any shell command and returns the output. npm test, git status, python manage.py migrate, docker ps: anything you'd type in a terminal works here.
Claude uses Bash automatically during certain tasks. When you ask it to run tests after a fix, it calls Bash. When it needs to check if a package is installed before importing it, it calls Bash. You can also trigger it directly: "run the linter and show me the output". Background execution is supported for long-running processes. I want to flag one thing: the working directory persists within a session, so a cd in one step carries into the next.