Claude Code Ultraplan
Ultraplan moves the heavy planning phase off your machine. Three launch paths, a browser review surface, and the system prompt variants the leak exposed.
Your terminal is hostage. Every time Claude Code drops into planning mode, the prompt is frozen until the plan is done. For a quick feature, that is fine. For a migration plan that touches 40 files across three services, you end up staring at a spinner for minutes while the local machine does all the lifting.
Ultraplan fixes that by shipping the whole planning phase to Anthropic's cloud, running Opus 4.6 in a remote container for up to 30 minutes while your terminal stays free for real work. The plan drafts in the background. You review it in a browser with inline comments and emoji reactions. Then you pick: execute in the cloud (and get a PR) or teleport it back into your local session.
This is the biggest addition to Claude Code's planning stack since plan mode first shipped. What follows is how it actually works, what the leaked source reveals about its internals, and how to pull good results out of it.
What Ultraplan Actually Is
Ultraplan is a research preview feature that hands a planning task from your local CLI to a Claude Code on the web session running in plan mode. The cloud session rides on Anthropic's Cloud Container Runtime (CCR) with Opus 4.6. Your local terminal polls every 3 seconds for status.
The key differences from local planning:
| Local Plan Mode | Ultraplan |
|---|---|
| Runs on your machine | Runs on Anthropic's cloud infrastructure |
| Blocks your terminal | Terminal stays free for other work |
| Review in terminal scrollback | Review in browser with inline comments |
| Execute locally only | Execute in cloud (get a PR) or locally |
| Limited by your machine's resources | Up to 30-minute planning window on Opus 4.6 |
Requirements: You need a Claude Code on the web account (Pro, Max, Team, or Enterprise) and a GitHub repository connected.
Three Ways to Launch Ultraplan
1. The Slash Command
Most explicit of the three. Type /ultraplan followed by your prompt:
/ultraplan migrate the auth service from sessions to JWTs
A confirmation dialog pops up before the cloud session actually launches.
2. The Keyword Trigger
Drop the word "ultraplan" anywhere in a normal prompt:
I need an ultraplan for refactoring the payment module to support multi-currency
Claude catches the keyword and opens the same confirmation dialog. Handy when you want to describe the task conversationally, not as a command.
3. From a Local Plan
The smoothest path. When Claude wraps up a local plan and shows the approval dialog, pick "No, refine with Ultraplan on Claude Code on the web" to push the draft to the cloud. No extra confirmation prompt, because your selection already counts as one.
This route is strong because the cloud session begins with your local plan as context instead of starting from zero.
Monitoring From Your Terminal
Once launched, your CLI prompt shows a live status line:
| Status | Meaning |
|---|---|
◇ ultraplan | Claude is researching your codebase and drafting the plan |
◇ ultraplan needs your input | Claude has a clarifying question. Open the session link to respond |
◆ ultraplan ready | The plan is ready. Open your browser to review |
Run /tasks in the terminal to see the ultraplan entry. From there you can open the session link, look at agent activity, or hit Stop ultraplan to archive the cloud session and clear the indicator.
One thing to watch: if Remote Control is active, it disconnects the moment Ultraplan starts. Both features use the claude.ai/code interface, and only one can be connected at once.
The Browser Review Interface
This is where Ultraplan pulls away from local planning. Instead of reading a plan out of terminal scrollback (where you can only accept, reject, or type a follow-up), you get a dedicated browser UI with three review tools:
Inline comments: Highlight any passage in the plan and leave a comment. This is the real upgrade. Rather than saying "the database migration section needs more detail," you point at the paragraph that is thin and explain what is missing. Claude revises just that section.
Emoji reactions: React to individual sections to signal approval or concern without typing a full comment. Quick way to mark which parts are solid and which need work.
Outline sidebar: Jump between sections of the plan. Essential for long plans where scrolling gets painful.
You can iterate as many times as you want. Ask Claude to address your comments, review the revised draft, leave more comments, and repeat until the plan is right.
Four Execution Paths After Approval
Once the plan looks right, you pick where it runs:
Path 1: Execute in the Cloud
Click "Approve Claude's plan and start coding" in the browser. Claude implements the plan inside the same cloud session, and when it wraps, you review the diff and open a pull request from the web UI. Your terminal shows a confirmation and the status line clears.
This is the cleanest route for self-contained changes. The cloud session has full access to your repository, and PR creation is wired straight into the web UI.
Path 2: Implement in Current Terminal Session
Click "Approve plan and teleport back to terminal" in the browser. The web session archives, and your terminal shows the plan in a dialog titled "Ultraplan approved." Pick "Implement here" to inject the plan into your current conversation and keep going from where you left off.
Best when the plan touches local context (environment variables, local services, files outside the repo) that the cloud session cannot see.
Path 3: Start a Fresh Local Session
Same teleport dialog, different button: "Start new session". That clears your current conversation and starts clean with only the plan as context. Claude prints a claude --resume command so you can jump back to your earlier conversation later.
Good fit when your current session is already heavy with context that would just get in the way. Fresh window, single-purpose focus.
Path 4: Save and Cancel
Choose "Cancel" from the teleport dialog. Claude writes the plan to a file and prints the path. Nothing runs. You can come back to it later, share it with teammates for review, or use it as a spec for manual implementation.
What the Source Code Leak Revealed
On March 31, 2026, the Claude Code source code leaked via an npm packaging error. Inside the 512,000+ lines of TypeScript were the system prompts that power Ultraplan. They show that Ultraplan is not one thing. It is at least three variants that appear to be assigned through A/B testing.
Variant 1: simple_plan
The lightweight option. No subagents involved. The system prompt tells Claude to:
Run a lightweight planning process, consistent with how you would
in regular plan mode:
- Explore the codebase directly with Glob, Grep, and Read.
- Do not spawn subagents.
When you've settled on an approach, call ExitPlanMode with the plan.Basically regular plan mode on cloud hardware. Faster, less thorough.
Variant 2: visual_plan
Same as simple_plan, plus a paragraph asking Claude to include Mermaid or ASCII diagrams for structural changes. The diagrams show dependency order, data flow, or the shape of the change.
If your Ultraplan comes back with architecture diagrams, you got this variant. Pure text and no pictures means you did not.
Variant 3: three_subagents_with_critique
The deep variant. This is the one the official Piebald-AI system prompt tracker captured at version 2.1.88:
Produce an exceptionally thorough implementation plan using
multi-agent exploration.
1. Spawn parallel agents to explore: existing code/architecture,
files needing modification, risks/edge cases/dependencies
2. Synthesize findings into detailed step-by-step plan
3. Spawn a critique agent to review the plan
4. Incorporate critique feedback, then call ExitPlanModeThree parallel research agents hit different dimensions of your codebase at the same time. Then a fourth agent reviews their synthesized plan for gaps. This is the variant that earns the 30-minute window. On deep architectural work, multiple agents looking at risk surfaces, dependency chains, and existing patterns produce noticeably better plans than a single pass.
If you read our guide on sub-agent design patterns, this is the explore-synthesize-critique pattern in action. Anthropic is using the same multi-agent approach for planning that advanced Claude Code users already build manually.
The Variant Lottery
The three Ultraplan system prompt variants appear to be assigned silently. Nobody picks which variant they get, and nothing in the UI tells you which one is running. The source also contains a separate A/B test called tengu_pewter_ledger with four variants (null, trim, cut, cap) that change general plan output verbosity, though whether that test applies to Ultraplan sessions specifically is not clear.
What that means in practice: some users report Ultraplan producing thorough, multi-section plans with risk analysis, while others get thin outlines that barely beat local planning. Whether the gap comes from the variant assignment, the verbosity test, or both, the inconsistency is real and well-documented in early Hacker News threads.
Version History
The Piebald-AI tracker lays out Ultraplan's evolution across Claude Code releases:
| Version | Change |
|---|---|
| v2.1.83 | First appearance as "System Reminder: Ultraplan mode" |
| v2.1.85 | Added confidentiality instruction (don't disclose how it works) |
| v2.1.88 | Can implement in same session on approval. Added teleport sentinel |
| v2.1.89 | /ultraplan removed from CLI commands |
| v2.1.91 | /ultraplan restored to CLI |
| v2.1.92 | Plan-formatting guidance updated |
Pulling /ultraplan at v2.1.89 and putting it back at v2.1.91 suggests Anthropic briefly tried a keyword-only invocation model before backing out. The feature is still flagged as "research preview" in official docs, and it has never shown up in Anthropic's official CHANGELOG.md. It lives behind feature flags.
Practical Tips for Better Ultraplan Results
1. Front-Load Context in Your Prompt
Ultraplan's cloud session can read your codebase, but it starts cold. More context up front means less time exploring and a better plan on the other side:
/ultraplan migrate auth from express-session to JWTs.
Key files: src/middleware/auth.ts, src/routes/api/*.ts, src/models/User.ts.
Current session store is Redis. 47 protected routes.
Must maintain backward compatibility during rollout.Compare that to just /ultraplan migrate auth to JWTs. The first version gives the planner a running start.
2. Use the Local Plan Path for Complex Work
For your highest-stakes plans, skip the direct launch. Start with a local plan to get an outline, then push it to Ultraplan for refinement. The cloud session opens with a stronger base than cold exploration.
That two-step flow also means you have already checked the direction before spending cloud cycles. If the local plan reveals you are solving the wrong problem, you catch it before a 30-minute Ultraplan run.
3. Use Inline Comments Aggressively
The browser review UI is Ultraplan's strongest feature. Do not just skim the plan and hit approve. Highlight specific sections and drop targeted feedback:
- "This section assumes a single database. We have three: users, analytics, and billing."
- "The testing strategy needs integration tests for the webhook handler, not just unit tests."
- "Step 4 depends on step 7. Reorder."
Pointed inline comments lead to stronger revisions than general feedback like "make the plan more detailed."
4. Choose Execution Path Based on Scope
| Situation | Best Path |
|---|---|
| Self-contained change, no local dependencies | Execute in cloud, get a PR |
| Needs local env vars, Docker, or local services | Teleport to terminal |
| Current session has 80%+ context usage | Start new session |
| Plan needs teammate review before execution | Cancel, save to file |
5. Know When NOT to Use Ultraplan
Ultraplan adds latency. The cloud session has to clone your repo, walk the codebase, and draft a plan before anything shows up. For simple changes where you already know the approach, local plan mode (Shift+Tab twice) is faster.
Use Ultraplan when: the planning itself is the hard part. Migrations, refactors across many files, architectural decisions with multiple valid routes, or any task where 10 to 30 minutes of planning saves hours of rework on the other side.
Skip Ultraplan when: you need a quick plan for a focused change, you are iterating rapidly on implementation, or you do not have a GitHub repo connected (hard requirement).
How Ultraplan Fits the Planning Ecosystem
Claude Code now has four planning tiers, each matched to a different complexity level:
| Tier | Activation | Best For |
|---|---|---|
| No plan | Default prompting | Simple, unambiguous tasks |
| Plan mode | Shift+Tab twice | Medium complexity, want to review before execution |
| Auto-planning | Automatic on complex prompts | Claude decides when planning is needed |
| Ultraplan | /ultraplan or keyword | High complexity, need rich review and parallel exploration |
Each tier brings more capability at the cost of more overhead. The skill is matching the right tier to the task. For readers already using Claude Code's context management strategies, Ultraplan also gives you a context advantage: the planning runs in a separate context window from your working session. Your local context stays clean for implementation.
Current Limitations
Ultraplan is a research preview, and it shows:
No variant selection. You cannot pick between the simple, visual, or deep planning variants. You get whichever the A/B test hands you.
GitHub only. A connected GitHub repository is required. GitLab, Bitbucket, and local-only repos are out.
No web initiation. You can only start Ultraplan from the CLI. Launching it straight from the web interface is a feature several users have asked for, but it is not there yet.
UX friction. Early users on Hacker News reported trouble figuring out how to leave inline comments and described the process as "sluggish." The browser review surface works, but discoverability is rough.
Opaque mechanics. How file syncing works between your local machine and the cloud session is not well-documented. Users report uncertainty about what happens if they abandon a session mid-plan.
No official changelog entry. Despite being fully functional, Ultraplan has zero entries in Anthropic's official CHANGELOG.md. The whole feature lives behind feature flags, which means it could change or vanish without notice.
What Comes Next
Ultraplan is Anthropic's bet that planning is the bottleneck in AI-assisted development. Not code generation, not testing, not deployment. Planning. Dedicating a 30-minute cloud session on Opus 4.6 just for the planning phase tells you where they think the biggest payoff sits.
The three-variant shape also hints at the direction. Right now, variant assignment is silent and random. But the infrastructure to support "choose your planning depth" is already built. A future version could let you explicitly ask for simple, visual, or deep planning based on what the task needs.
For now, Ultraplan is best treated as an advanced planning tool for complex, high-stakes work. Use local plan mode for daily tasks. Save Ultraplan for the plans that need to be right the first time.
Stop configuring. Start building.
Experimentation Mindset
Five Claude Code experiments to replace guessing with data. Test prompt styles, file context, planning mode, CLAUDE.md settings, and context pressure.
Terminal as Main Thread
Run parallel Claude Code sessions across multiple terminals and coordinate them yourself instead of waiting on one.