Working Code
Use claude -w to work in an isolated worktree:
cd my-project
claude -w
Claude Code automatically creates a separate git worktree and works inside it. Your main working directory's code remains completely unaffected.
> Refactor the authentication system in this project from JWT to session-based.
> This is experimental, so feel free to make bold changes.
When the experiment is done:
- If you like the result, merge the changes into the main branch.
- If you don't, just delete the worktree. Your main code stays clean.
Try It Yourself
Use multiple terminals to work with worktrees simultaneously:
Terminal 1 — main work:
cd my-project
claude
> Implement the user list API
Terminal 2 — isolated experiment:
cd my-project
claude -w
> Completely redesign the DB schema. Denormalize to optimize read performance.
Terminal 1 proceeds safely while Terminal 2's bold experiments happen in an isolated environment.
"Why?" — Experiments Need a Safety Net
The most dangerous moment in development is when you think "what if I try this?" Large refactorings, architecture changes, trying new libraries — doing these directly on the main code makes them hard to undo.
Advantages of Worktrees
| Approach | Problem | Worktree | | ------------------ | ---------------------------- | ------------------------------------- | | Experiment on main | Risk of code contamination | Work in an isolated copy | | git stash | Switching context is tedious | Work on multiple tasks simultaneously | | New branch | File system is shared | Physically separate directories |
Teleport: Moving Between Local and Web
Teleport transfers a Claude Code session from the terminal to the web (claude.ai/code), or vice versa:
> /teleport
Your local session's context is sent to the web. You can leave your desktop and continue working in the browser.
The reverse direction:
claude --teleport
This brings a web session to your local terminal.
Use cases:
- Continue work started at the office (terminal) from home (web browser)
- Quickly check something on mobile via web, then do serious work on desktop
Parallel Development Pattern
Terminal 1: claude → Main feature work (stable)
Terminal 2: claude -w → Experimental refactoring (isolated)
Terminal 3: claude -w → Performance optimization attempt (isolated)
Each worktree has independent git state, so you can work simultaneously without conflicts.
Deep Dive
How is a worktree different from a git branch?
A git branch is a logical fork, while a worktree is a physical fork.
- branch: Switching branches in the same directory changes the files. Only one branch active at a time.
- worktree: Checks out a branch in a separate directory. Multiple branches can be active simultaneously.
claude -w automatically creates and manages this git worktree for you.
- Use
claude -wto attempt a bold refactoring in an isolated environment. Verify your main code is unaffected. - Work simultaneously with
claudein one terminal andclaude -win another. - Try
/teleportto transfer your session to the web (requires access to claude.ai/code).
Q1. What does the claude -w command do?
- A) Runs Claude Code in a web browser
- B) Runs Claude Code in an isolated git worktree
- C) Runs in Windows mode
- D) Runs in read-only mode