Plan mode is dead

(aymannadeem.com)

31 points | by jmvldz 19 hours ago

11 comments

  • bcherny 17 minutes ago
    [I work on Claude Code] I broadly agree with the author’s point: plan mode was useful, and is no longer useful.

    In Claude Code, all plan mode does is add a little reminder to every user message along the lines of “you’re in plan mode, please don’t code yet”. It’s something I came up with late on a Sunday night many months ago, when I got tired of asking Claude to plan with me first before coding in each new session. Something people might not realize is plan mode has always been a prompt — it has never changed the toolset because doing so would break the prompt cache, and so would be expensive for users.

    This worked well for a while, until a few months ago, using early versions of Fable, I realized that I wasn’t using plan mode anymore because the model just got it, and because for the increasingly complex work I asked the model to do, planning had become interactive and iterative. With Opus 5.5, I feel Opus has gotten to that point too.

    For codebase understanding, I sometimes ask Claude to generate an artifact that explains some aspect of its changes. For complex diffs to core parts of the system, I will often ask it to make diagrams or even interactive demos so I can better understand the change and alternatives considered. I don’t do this very often, but it’s a useful way to explain code when you need it. I ask Claude to attach these artifacts to its PRs also, so others can understand and future Claudes have the context.

    • akersten 5 minutes ago
      It's useful because it let's me see the decisions the model will make before it wastes a ton of time implementing them. The model is smarter now but that doesn't solve for underspecification if it guesses my intent wrong
      • bcherny 1 minute ago
        Interesting, I don’t see this very often with the latest models. Are you using Opus 5.5/Fable 5.1?

        Either way, plan mode isn’t going away. You can always /plan or ask Claude to enter plan mode. We might re-map the shift+tab keyboard shortcut to something else by default for people that don’t use plan mode.

      • solarkraft 1 minute ago
        But that’s just the value of planning, not having it be a special mode.
      • bityard 2 minutes ago
        > wastes a ton of time

        It wastes a ton of tokens as well and those are not cheap.

      • iamdanieljohns 5 minutes ago
        THIS.
    • solarkraft 2 minutes ago
      I really wonder what I’m missing because my general rule to plan first unless explicitly instructed works perfectly fine with all models I use.

      “I want to ...” / “Let’s ...” -> Plan

      “Do X” -> Actually Act.

      But then again I also have it configured to only ever answer questions instead of inferring them to be instructions (which I’ve seen others do differently).

    • popularonion 10 minutes ago
      Yeah, as a user I came to the same conclusion as I naturally used plan mode less and less over time.

      I still use plan mode in Astra to come up with a plan that I then feed into Fable. I feel like OpenAI models still do better big picture investigation and planning, while Claude is the better software engineer, if that makes any sense.

      Of course this could well come down to my own biases and the specific things I’m working on.

  • bityard 3 minutes ago
    When I draft my idea for the implementation of a feature or bug fix, I don't even trust a _human_ to understand what I mean the first time. There are _always_ either errors on my part, or erroneous assumptions on theirs. Everything from "this accounts for X and Y, but not Z which breaks the whole thing" to "this part of the idea directly contradicts what with you said earlier, what do you want to do about it?"

    I can't bring myself to trust that an LLM understands what I mean better than any human would, no matter how "good" people claim they are getting.

    TFA seems to be advocating for regular old vibecoding. Code now and ask questions later. Which is their choice, and is perhaps even a valid choice in many cases. But at least call it what it is.

  • tcdent 48 minutes ago
    The real reason why plan mode is dead is because you can just conversationally instruct the agent to not make changes to the repository or to make changes to selected documents only, and it will listen. There was a time when we needed to enforce this via selected tool use, but we have surpassed that.
    • Feathercrown 26 minutes ago
      It seems unwise not to implement sandbox measures just because the chance of misuse has gotten lower.
      • monster_truck 23 minutes ago
        Plan was never a sandbox or a permissions system
      • brianwawok 21 minutes ago
        What? Nothing to do with that
    • throwaway27448 26 minutes ago
      It also doesn't allow leaving an audit trail of plans and decisions (by default, anyway). Most of my mutating prompts look like "Propose a plan for change X and write to file Y" and "Execute steps M-N from file Y".

      RE the article: I don't think it's obvious why this process is worth following until you find your time and attention wasted. Conversationally-building is the express train to waste. I'm not sure why you would even be talking to claude if you don't understand what you want to build.

    • esafak 19 minutes ago
      I agree. Plan mode came about because earlier models were loose cannons, doing what they pleased. Today's models follow instructions better enough to not need a separate mode. However, there is still value in using a separate, smarter model for planning than execution.

      If you do use it you might like https://plannotator.ai/

      I typically converse with the default model to point the plan in the right direction, then have it iterate with a smarter reviewer to find flaws until the plan is converged.

  • bfung 26 minutes ago
    Disagree. While it's easier to 1-shot more things now, when there's more complicated interaction of components, a good plan from plan mode can make the project a "looks good, go" and run overnight thing vs. "steering" needed.
  • nojs 36 minutes ago
    Claude code’s plan mode began its slow march towards deprecation when they hid the “clear context and implement” option behind a flag. From the discussion at that time it seemed that the developers considered it mostly a legacy feature, and that newer models are smart enough in long context not to need it.
  • 6thbit 20 minutes ago
    I'd like a brainstorming mode, with limited side effects.

    I want it to go and read stuff but also invoke some commands and generate reports and discuss on the results. Latest GPTs in codex plan mode always go.. write a plan. Shocking, i know, but thats not what i want on every turn when im in that mode.

  • SillyUsername 16 hours ago
    I'm going through the same problem right now

    Qwen 3.8 27b is the supervisor

    Qwen 3.5 4b are the 6-15 minions it controls

    Gemma 4 e4b is the validator for the supervisor.

    A plan means it preps all work for the agents up front, tests that evals work, makes sure the dev environment is right for each agent, then finds and fixes each before the distributed tasks even begin.

    What I thought would take minutes took hours as a supervisor or one agent did the prep / pre flight work.

    My solution so far has been to drop all but basic setup and force the supervisor to ask before every op - if this is not the design choices, can this be run in parallel? If so, hand it off NOW.

    I'm still iterating this workflow, but less setup for all the minions plus handing them work that may be incomplete/ broken is caught and fixed by the minion and its own qa gates.

    This can mean a number of minions end up replicating the same fixes, but in general the time cost of that is small Vs the supervisor working in parallel instead of too sequentially.

    • UncleOxidant 26 minutes ago
      How do you set all of that up with supervisor and minions? What harness?
    • adastra22 12 hours ago
      Tell the planner to not do all that. Just plan out the high level. No code. No implementation details.
      • tcdent 50 minutes ago
        Yeah, it's way better when you do design documentation, or even ticketing, to instruct it not to include any implementation specifics. You're not doing the deep dive on the zero shot that writes the ticket or the document and so it is much less informed than the agent doing the work will be.
    • MuffinFlavored 48 minutes ago

          > Qwen 3.8 27b is the supervisor
          > 
          > Qwen 3.5 4b are the 6-15 minions it controls
          > 
          > Gemma 4 e4b is the validator for the supervisor.
      
      
      I just use Opus 5.5 and don't think about it?
      • UncleOxidant 24 minutes ago
        Or just use a more capable local model like Qwen3.8-Flash-Next?
  • dbbk 15 hours ago
    I use Claude's Plan mode daily and it's great. I almost always have feedback to refine the plan and I want a clean separation of planning time before writing code. I don't get what the problem is.

    I also find this "kill Plan mode" push on Twitter odd, because developers have been complaining about AI supposedly killing their jobs, yet they want to take away the main feature that lets them be an active collaborator and participator in the process. Weird.

    • bartread 4 minutes ago
      I also don’t get what the problem is. Claude’s plan mode is great, especially when you add interviewing into the equation. It means I can get to a point where I’m confident all the changes proposed make sense, and that I understand them, before anything is actually changed.

      I feel like this post is hawking for commercial reasons more than it’s based in reality, especially a reality that takes into account the extremely varied experiences engineers seem to have with agents. Not to mention it ignores capabilities that, for example, Claude’s VS Code addin have had for ages (specifically select and annotate in plan mode, as I mentioned in another comment).

      As such I’m not inclined to take it very seriously. More than that, the “X is dead” trope was overdone 10 years ago and I don’t think it’s been long enough to warrant a resurgence.

    • aymandfire 27 minutes ago
      I see what you’re saying. That’s actually why I built Nuanced (https://www.nuanced.dev), I wanted a better way for humans and agents to work through intent before the code got written.

      but I think I overfit the interface to how I used to work without agents. when I was at GitHub, I wrote a lot of ADRs, RFCs, and design docs, and I liked that because writing is how I clarify my own thinking. with agents though, I’m often not doing the writing myself. I give the model a rough intent and it fills in a bunch of gaps, and then I get back a long, polished plan containing decisions I didn’t explicitly make.

      That’s the part that feels broken to me. The plan can be detailed and technically correct, but still be hard to review because the important bits are buried and feel distant from my own thinking. All the assumptions and tradeoffs and questions may or may not be legitimate, but it’s hard for me to get into flow state and carefully check them.

      So I still want the collaboration step. I’m just less convinced that generated prose à la plan mode is the right interface for it.

    • themanmaran 31 minutes ago
      I likewise don't understand this push. Surely it's a trivial feature to keep enabled. It mostly seems like advertising that "our models are so smart you don't need to plan". But I find it to be a great mental review process for my workflow.

      It sounds like the Ant perspective is "you can just ask claude to plan", but at the same time that's a little more tedious than shift+tab

    • bakugo 32 minutes ago
      > developers have been complaining about AI supposedly killing their jobs, yet they want to take away the main feature that lets them be an active collaborator and participator in the process.

      Goomba fallacy. These are two distinct groups of people.

    • spacedcowboy 14 hours ago
      Yeah, honestly, I'm wondering, not even why people are against plan-mode, but how they're getting stuff done without it.

      Maybe it's me (it usually is), but I don't give an LLM small tasks that a human could knock out in a half-day. I give them big tasks, stuff that would take a human a few months to a year - and then I ask it to give me a plan, as a living document, and we spend a good hour or two iterating over the plan.

      Then, when its finally at the point where I'm happy with the plan, and I've talked it down from wherever it first wanted to go, or pointed out that we don't need to be all-things-to-all-(wo)men and focus is important, I get it to start going through it.

      Likewise, I get it to maintain TODO.md with lists of known bugs, separate lists of future-features, and again, I make a rule that this file must be updated whenever something material changes. I just asked Claude "where are we ?" and got back stuff like:

      The ## Still-open detail section lists two items:

      - Task #1070: the ported back end doesn't fold offsets into vector loads, so it emits an extra add on 11 files (from 892) at -O3. The output is correct, just longer.

      - Task #1080: array sizes must constant-fold. For example, u8 buf[EVSZ * MAXEV] is rejected because size expressions only accept a literal.

      This is for 'xc' [1] - a compiler for an Objective-C-like language (but without the excessive []). The language has ARC, blocks and bound-functions/methods named 'block' and 'callback', automatic parsing of DWARF data so you can #use a shared-object, so there's no header files - just read enums/types/functions/methods from the shared object. It's a cross-compiler, runs on mac,windows,linux and creates executables for mac,windows,linux,ios,android,WASM (amongst others). I have a binary running on my iPhone which was written on, and signed on a Linux box - no Apple software used at all. Oh, and it produces code that is very comparable to clang in speed on both arm64 and x86_64.

      You can appreciate it's a reasonably large project. It's taken actual months(!) [grin] for me to get working. Months! There's no way I'd approach a problem like this without detailed plans of what I wanted the language to do, where we were going with it

      FWIW, "I" wrote blewit.net [2] entirely in xc - both the server back-end (#use <psql> was very useful for binding to Postgres) and the WASM client - which share classes between client and back end, to make it very difficult to get out-of-step between them. No Apache (#use <tls>), no scripting, just a lean-and-mean daemon talking to postgres via valkey (#use <valkey>) - a reddis-alike. Oh yeah, blewit.net has a plan too. Actually it has lots of planning :)

      1: https://compile-xc.org/compiler/

      2: https://blewit.net/

  • skybrian 32 minutes ago
    Yes, a conversation can be the plan. It helps if you ask it what the commits will be and then tell it to use subagents to implement them.

    Also, since sometimes an AI can be a busy beaver, I added instructions to not edit any checked-in files if the prompt contains a question.

  • bartread 9 minutes ago
    > This cut-and-paste workflow felt clunky and made it arduous to work through an idea while keeping track of the current plan.

    I mean, it is, and if that were the workflow I’d be very fed up of it by now, but the plan mode in Claude’s VS Code extension has supported select and annotate directly since at the very least early 2026.

  • vikash-hn 17 hours ago
    [flagged]