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 install triggers 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.