After your first project, you already know the basic cycle: Claude changes files, runs commands, and you check the result.
But the real efficiency difference comes from knowing when to plan, when to let Claude run, when to stop it, how to manage permissions, how to use Git, and how to keep the conversation focused.
Plan Mode lets Claude understand the task and propose an approach without immediately changing your project.
In Plan Mode, Claude can read files and understand the codebase, but it does not modify code, install packages, or run commands until you move back to execution.
Press Shift + Tab twice
Claude switches into Plan Mode and gives you a proposed implementation plan.
The chapter describes a structured workflow for larger tasks.
Ctrl + G to open the input in your configured editor. Write the confirmed plan and constraints, save it, and send it back to Claude.Shift + Tab. After the planning is complete, Claude can execute the agreed approach with much less back-and-forth.| Use Plan Mode | Usually skip Plan Mode |
|---|---|
| You are unsure about the implementation approach. | Changing one line. |
| The change affects multiple files. | Fixing a typo. |
| You do not know the codebase well. | Adding a simple debug statement. |
| You are refactoring architecture. | Running tests. |
| You are touching a project for the first time. | Routine, repetitive work. |
When Claude Code repeatedly asks for permission, approval fatigue can happen. Auto Mode is designed to reduce that friction by using an AI safety classifier to evaluate operations.
The source describes two layers:
The goal is simple: routine operations can proceed automatically while suspicious or risky actions receive more scrutiny.
claude -permission-mode auto
You can also cycle through modes with Shift + Tab.
| Auto Mode | --dangerously-skip-permissions |
|---|---|
| Uses an AI classifier to evaluate operations. | Removes permission confirmations. |
| Risky operations can be blocked or challenged. | Commands can execute without those warnings. |
| Has input-layer prompt-injection protection described in the chapter. | No equivalent protection from permission bypass. |
| Designed for everyday development. | Source recommends isolated environments for this type of bypass. |
For more precise control, Claude Code provides /permissions.
/permissions
You can pre-authorize specific operations so Claude does not ask every time.
# Allow npm scripts
Bash(npm run *)
# Allow editing docs
Edit(/docs/**)
# Allow tests
Bash(npx vitest *)
Bash(npx jest *)
# Allow Git operations
Bash(git add *)
Bash(git commit *)
Bash(git push)
The chapter notes that these rules can be stored in .claude/settings.json and shared through Git.
| Approach | Convenience | Safety | Best for |
|---|---|---|---|
| Auto Mode | High | Medium | Everyday development |
/permissions whitelist | Medium | High | Precise team/project control |
| Confirm every action | Low | Highest | Learning and high-risk work |
Claude Code can work with your project's Git state, including changed files and branches.
Or give more context:
Claude can inspect the changes, generate a commit message, stage and commit changes, and prepare a PR description.
A Git worktree gives another branch its own working directory. This is useful when multiple Claude sessions need to work independently.
claude -worktree
The chapter highlights three important benefits:
Traditional Claude Code workflows are mostly text-based: read files, edit files, run commands, inspect logs.
Computer Use extends this by allowing Claude to look at screenshots of the desktop and interact with graphical interfaces using the mouse and keyboard.
| Scenario | Why it helps |
|---|---|
| Testing a web UI | Claude can click pages, fill forms, and inspect the rendered result. |
| GUI-only software | It can interact with software that has no convenient API. |
| Repetitive desktop tasks | It can perform mechanical actions across windows. |
| Debugging browser extensions | It can inspect extension popups and visible browser behavior. |
Voice Mode allows you to speak your instruction instead of typing it.
/voice
The chapter describes holding the spacebar to speak, releasing it to send. Voice transcription then becomes the input Claude processes.
Long conversations accumulate information. If unrelated tasks are mixed together, Claude has to work through more context and may lose focus.
| Action | Command / Shortcut | When to use |
|---|---|---|
| Clear session | /clear | Starting a fundamentally different task. |
| Compress context | /compact | Long session where you want to preserve key conclusions. |
| Stop operation | Esc | Claude is doing something you want to stop. |
| Rewind | Esc × 2 or /rewind | Undo conversation changes, code changes, or both. |
| Resume last session | claude --continue | Continue after the terminal was closed. |
| Resume a specific session | claude --resume | Return to a particular previous session. |
| Side-chain question | /btw | Ask an unrelated question without polluting the main context. |
/clear removes the conversation history for the current session. Project files and CLAUDE.md remain available.
For example:
Without clearing, the previous API debugging discussion can remain in the conversation and add irrelevant context to the frontend task.
/clear or start a new session.
/compact is different from /clear. It keeps the session but compresses its history into a shorter summary.
Use it when:
/compact Keep all architecture decisions and bug fix records; compress away the detailed code
/clear = clean slate./compact = keep the session, but summarize it.
/btw opens a side-chain conversation. It is useful when a quick unrelated question comes to mind.
The main task's conversation remains untouched.
If Claude makes a wrong change, you can use /rewind, or press Esc twice.
| Option | Meaning |
|---|---|
| Rewind conversation | Undo recent conversation turns. |
| Rewind code | Restore files while keeping the discussion. |
| Rewind everything | Restore both conversation and code. |
Mixing bug fixes, new features, refactoring, and documentation fills the context and reduces focus.
Better: one session per focused task, then /clear.
If Claude is wrong and two corrections still do not fix the direction, stop patching.
Better: use /clear and provide a more precise starting requirement.
Code that looks reasonable can still contain bugs.
Better: run the code and tests after changes.
If you inspect every tiny change and manually direct every action, you lose the benefit of agent-style work.
Better: focus on outcomes unless the work is clearly going in the wrong direction.
If every new session requires you to explain the project rules again, you are repeatedly paying the same context cost. The next chapter covers CLAUDE.md in detail.
A useful workflow for a medium-sized feature is:
/review when you want an additional code audit./clear before a completely unrelated task.| Command | Purpose |
|---|---|
/review | Audit uncommitted changes for bugs, performance, security, and style issues. |
/simplify | Review changes from multiple angles and apply refinements. |
/doctor | Run diagnostics for CLI, authentication, tools, and environment configuration. |
/vim | Enable Vim-style key bindings in the input area. |
/terminal-setup | Configure terminal integration such as Shift+Enter behavior. |
/export | Export the current session transcript as plain text. |
/clear
Complete Phase 1
/compact
Complete Phase 2
/compact
Complete Phase 3
/cost
The idea is to periodically manage context instead of allowing one conversation to grow without control.
Discuss requirements
↓
/fork → Approach A
↓
Compare
↓
/fork → Approach B
↓
Choose the better result
/review
↓
Refactor
↓
If wrong → /rewind
↓
/simplify
↓
/review
↓
git commit
/model sonnet
↓
Everyday work
↓
Complex problem
↓
/model opus
↓
Problem solved
↓
/model sonnet
↓
/cost
| Workflow | Main purpose |
|---|---|
| Plan Mode | Think and agree on the approach before making changes. |
| Auto Mode | Reduce repetitive approval prompts while retaining automated safety checks. |
| /permissions | Precisely control which operations Claude may perform automatically. |
| Git | Track, commit, branch, and isolate work safely. |
| Session management | Keep context focused and recover safely when things go wrong. |
/btw for an unrelated question, then use /clear before starting a different project task.
--dangerously-skip-permissions?/permissions do?/clear and /compact?/btw do?/rewind help when Claude takes the wrong approach?CORE WORKFLOWS
│
├── THINK
│ └── Plan Mode
│ └── Discuss → Refine → Approve
│
├── EXECUTE
│ ├── Normal Mode
│ └── Auto Mode
│
├── CONTROL
│ └── /permissions
│ └── Allow only what is appropriate
│
├── VERSION
│ ├── Git commit / PR
│ └── Git worktree
│
├── INTERACT
│ ├── Computer Use
│ └── Voice Mode
│
├── MANAGE CONTEXT
│ ├── /clear
│ ├── /compact
│ └── /btw
│
└── RECOVER
└── /rewind
Chapter 4 is about moving from “I know how Claude Code works” to “I know how to work effectively with Claude Code.”
For most meaningful features, remember this sequence: