Plan Mode Deep Dive: Why External Spec Tools Are Redundant

TL;DR: Claude Code’s Plan Mode implements the same spec-driven development principles as OpenSpec and SpecKit, but without extra dependencies. Recent versions (2.1.116+) added local plan storage, Extended Thinking enabled by default, and task dependency tracking.


Why Spec-driven Development Is Everywhere

Spec-driven development tools are popping up everywhere. OpenSpec, SpecKit, KIRO… New tools keep appearing, all promising the same thing: Stop vibe coding. Write a specification first, then let AI implement it.

Where does this come from?

When you chat with an AI coding assistant, your requirements are scattered across a long conversation. No structure, no persistence. When the context window fills up, the AI forgets what you agreed on. You end up with code regression, logic gaps, and hallucinations.

The solution? Write a specification before coding. Make the spec the source of truth.

This isn’t new—it’s what good engineers have always done. The difference now is that AI can help write and execute that spec.

Tools like OpenSpec and SpecKit formalize this into a structured workflow: describe what you want → AI generates a detailed spec → you approve → AI breaks the work into tasks and implements them.

It works, but it requires installing external tools, learning new commands, and managing yet another dependency.

If you’re using Claude Code, you don’t need any of that.


Plan Mode: Built-in Spec-driven Workflow

Claude Code has had Plan Mode since mid-2025, but it started as a simple “think before you code” feature. Over the past few months, it’s evolved into something much more powerful.

Today, Plan Mode is a formalized state machine.

It has two core tools: Enter Plan Mode and Exit Plan Mode.

You can activate it three ways:

  1. Press Shift+Tab twice
  2. Type the /plan command
  3. Start Claude with --permission-mode Plan from the terminal

When you do, Claude switches to read-only mode. It can explore your codebase, search files, fetch documentation, but it cannot write code—not until you approve the plan.

This is the same principle behind SpecKit. The spec comes first, code comes second.


The Four Phases of Plan Mode

1. Exploration

Claude scans your codebase using read-only tools (Glob, Grep, Read). It understands your architecture before proposing anything.

2. Design

Claude drafts a high-level implementation approach. This isn’t a vague description—it’s a concrete plan with specific files to create or modify.

3. Review

This is where the Ask User Question tool comes in. If anything is ambiguous, Claude asks multiple-choice questions—clear options, no guessing.

4. Final Plan

Claude writes the approved plan to a markdown file. This becomes a persistent artifact—the thing that survives context switches and session resets.


Recent Important Updates

Local Plan Storage (v2.1.9, January 16th)

Before this, plans were stored in a global directory under your home folder. Now you can set the plans directory in your settings to /plans in your project.

Your plans live alongside your code. You can commit them to Git, version control your specifications. This was one of the most requested features, and it puts Plan Mode on equal footing with SpecKit’s local storage approach.

One limitation: You cannot customize plan file names yet. They still get random names like cosmic-purcolating-something.md. If you want meaningful names, you’ll need to rename the files manually after Claude creates them.

Extended Thinking Enabled by Default

You don’t need to type ultrathink or any magic keywords anymore. Claude Code automatically uses its full thinking budget. For models like Opus 4.5, that’s a lot of reasoning power working behind the scenes.

Task Dependency Tracking (v2.1.116, January 22nd)

The most recent update adds native task management with dependency tracking. This builds on the existing todo write system, but lets tasks declare what they depend on.

Claude won’t start implementing a task until its dependencies are complete. If you’re building a profile page that needs a database schema first, Claude should track that relationship and execute in the right order.

The feature just dropped, so documentation is sparse, but it’s worth watching.


Built-in Subagent Orchestration

This is something neither OpenSpec nor SpecKit have.

When Claude enters Plan Mode, it can spawn specialized agents to help with research:

  • Plan Agent: Handles deep codebase analysis
  • Explore Agent (powered by Haiku): Handles fast file searches

Each has its own context window, so your main conversation stays clean.

You don’t configure this—it just happens. Claude orchestrates the research automatically.


Practical Demo

Let’s say I want to add a “Buy Me a Coffee” button to my website.

  1. First, configure the plans directory in settings to plans, so they’re stored in the project root
  2. Press Shift+Tab twice, see Plan Mode activate
  3. Describe what I want: a button in the header, left of the subscribe button, styled to match the site—black background with orange accents. I also ask Claude how to set up Buy Me a Coffee, since I’ve never used it

Claude starts exploring. It reads my components, checks how the header is structured, looks at the existing styles. Then it writes a plan—which files to modify, the component design, even the environment variable I’ll need, plus the setup instructions I asked for: sign up, get your link, connect payment.

The plan gets saved to the Plans directory. I can commit it to Git.

For a simple feature like this, I just approve and let Claude implement. A minute later I run npm run dev, the button is there, styles match, hover effect works. It just needs the actual Buy Me a Coffee link.

For bigger features, you’d iterate more on the plan itself, and you can also clear the context and follow the plan with a fresh session.


Comparison with External Tools

FeaturePlan ModeOpenSpecSpecKit
Built-in
Local spec storage
Git version control
Subagent orchestration
Cross-tool compatibility❌ (Claude Code only)
Installation required
Custom file names

OpenSpec and SpecKit are both solid options. OpenSpec is leaner and faster to work with. SpecKit offers more structure. Both work across Claude Code, Copilot, Cursor, and others.

If you’re using multiple AI tools, they provide a consistent workflow. But if Claude Code is your primary tool, Plan Mode gives you the same benefits without the extra layer. No installation, no new commands to learn, no context switching between tools.

The subagent orchestration is something you don’t get with external spec tools. Claude handles the research phase intelligently, spinning up lightweight agents for fast searches and heavier agents for deep analysis.

With local plan storage, the version control story that was missing before is now complete.


When to Use Plan Mode

Plan Mode is not for everything.

If you’re fixing a typo or adding a console.log, just do it.

But for anything non-trivial—new features, refactors, architectural changes—enter Plan Mode first.

Let Claude explore, answer its questions, review the plan, then execute. The iteration happens in the planning phase where it’s cheap, not in the implementation phase where mistakes are expensive.

A Honest Note

Plan Mode works best for small to medium-sized features. For larger features, the new task dependency system should help. Claude can break work into dependent tasks and execute them in order, but you still need to stay in control. Re-read the plans, keep context in your head.

You can run multiple plans in parallel using git worktrees—different features, different branches, different Claude sessions. But more than two gets hard to manage. You become the bottleneck.

For true scalability, there are tools with interactive Kanban boards that orchestrate multiple agents—but that’s a topic for another video.


Summary

Plan Mode has quietly become one of the most powerful features in Claude Code. It implements the same spec-driven principles that OpenSpec and SpecKit provide, but it’s built in. No extra dependencies, no new workflows to learn.

With local plan storage and automatic Extended Thinking, it’s ready for serious use.

Try it on your next feature. You might find you don’t need another tool.


This post is adapted from the video “Plan Mode Deep Dive: Why External Spec Tools Are Redundant” by The Gray Cat

If you found this helpful, consider buying me a coffee to support more content like this.

Buy me a coffee