How: How a Developer Picks It Up
Typical Workflow (CLI Mode)
User opens terminal, navigates to project directory
↓
Types `claude`, Claude Code starts
↓
Reads CLAUDE.md (project description file), understands project conventions
↓
User describes their need in natural language
e.g.: "Add email verification to the user registration endpoint"
↓
Claude plans the task
→ Reads relevant files (finds existing user model, registration logic)
→ Understands project structure (which email library, how tests are written)
↓
Claude executes operations (step-by-step, confirming each or auto-executing)
→ Edits source files
→ Runs tests
→ If errors occur: reads error output → fixes → runs again
↓
Claude outputs a completion summary
"Modified 3 files, added 45 lines, all tests passing"
↓
User reviews the diff, approves or requests changes
Key Permission Checkpoints
Not all operations execute automatically. Claude Code stops to ask the user in these situations:
- First time running a particular command class: e.g., the first
npm installtriggers a confirmation prompt - Destructive operations (
isDestructive = true): irreversible, must be confirmed - Operations beyond authorized scope: the user only approved "read files," but Claude now wants to write files
Users can pre-configure permission rules (Bash(git *), Edit(src/**)) so "allow this class of operation without asking," reducing interruptions. See B. Permissions & Security for details.
At Session End
Claude Code displays a cost summary at the end of each session:
Total cost: $0.23
Total duration (API): 45.2s
Total code changes: 150 lines added, 42 lines removed
Usage by model:
claude-sonnet-4-6: 45,200 input, 3,100 output, 12,000 cache read ($0.23)
This data is persisted to the project config file and restored at the next session start. See D. Product Growth Design for details.