
Paul Sawers
8 min read25 Jul 2025
Paul Sawers is a freelance writer at Tessl, covering the people, products, and platforms shaping the future of AI-native development. Based in London, Paul brings nearly two decades of experience reporting on startups, enterprise tech, and open source. Before joining Tessl, he was a senior writer at TechCrunch and previously covered the European tech scene for The Next Web and VentureBeat. His reporting blends sharp editorial insight with a deep understanding of the software landscape.
From vibe coding to vibe planning
Read-only mode comes to Claude Code and other AI coding tools
The dangers of unleashing AI coding assistants on live codebases are very real. This is underscored by an incident reported last week by entrepreneur Jason Lemkin, who had used Replit in a vibe-coding exercise only for the AI to ignore a code freeze, fabricate data, and delete an entire production database.
The problem? Replit apps use a single database for both development and live customer data.
While the AI apparently claimed that recovery was impossible, Replit did in fact manage to reverse the damage and restore the deleted database. Replit CEO Amjad Masad acknowledged the issue, promising to separate development and production databases for Replit apps. This new feature arrived promptly on Monday, with Replit positioning it as a “safer way to vibe code.”
But buried in Masad’s original public acknowledgement was a more forward-looking promise: Replit is “actively working on” a new mode that would nullify an AI agent’s ability to make any destructive changes in the first place.
“We heard the ‘code freeze’ pain loud and clear — we’re actively working on a planning/chat-only mode so you can strategize without risking your codebase,” Masad noted.
Vibe planning: A path to production
Replit’s move represents part of a broader trend, as businesses seek to instill greater confidence in their AI coding tools – “read-only” mode is becoming the norm, allowing developers to brainstorm without nuking an entire database.
Anthropic quietly rolled out a new feature to Claude Code (v1.0.16) last month dubbed “plan mode.” In effect, it allows creators to create a buffer between ideation and execution by giving Claude Code access to read-only and research functionality, such as viewing files and directories, searching file and web content, and managing tasks.
This feature can be activated by hitting “shift+tab” twice, and exited by hitting shift+tab once.
One Redditor also noted that this new mode represents part of a broader shift for production projects where vibe coding doesn’t quite cut it and “vibe planning” becomes a growing imperative.

Vibes meet specs
As IndyDevDan highlights in his excellent demo video, plan mode is useful for reviewing proposed changes before they’re implemented; understanding the full scope of the work before proceeding; and ultimately avoiding unwanted changes to a given codebase.
However, he also notes this feature can be used in two “powerful” ways. One is simply plan → build – you get Claude Code to analyze the codebase, understand the problem or proposed change, formulate a “plan”, and then build the implementation directly from that plan (once the developer has given the greenlight). However, this might only be suitable for small to medium-sized changes, and only when the user trusts the model and has thoroughly reviewed the plan.
For the most part, IndyDevDan recommends throwing an intermediate step in the middle, so we have plan → spec → build. The idea here is that Claude Code first gathers all the necessary context for the plan, with the user prompting Claude to write a detailed specification – a natural-language instruction that defines what should be built. This is what some call meta-prompting.
As per IndyDevDan, developers should be using these kinds of tools to tackle real, substantial tasks anyway \-- aim big, is the idea. And by including the spec component in the planning phase, this could actually save the user time in the long run as it’s more likely to produce a cleaner, more accurate implementation the first time around.
“Four out of five times I recommend the second technique, specifically for mid to large-sized features – which you should be aiming for,” he says. “We have more than enough compute and intelligent models and great tools. So aim big, hand off more work to your agent. Do more in single swings to save time and understand how far you can really push these models and these tools.”
Relieving Claude Code from editing and execution duties also means it can focus purely on suggestions and explanations – which apparently helps it produce clearer, more consistent responses.
ClaudLog author Wilfred Kasekende (AKA Inventor Black, CTO at Command Stick) noted:
“Prior to Plan Mode, I would frequently start or end prompts with: ‘Do not code, just make suggestions.’ And generally speaking, this worked. However, when Claude did provide suggestions it was unfortunately inconsistent in format and verbosity.
Other folks on r/ClaudeAI have mentioned similar inconsistent results when requesting inaction from Claude. This led to an unpredictable UX and feedback loop.
Plan Mode not only provides security, but it 'forces' Claude to deliver consistently formatted responses in a reasonable verbosity.”
Plan mode powers ‘safer AI assistance’
Anthropic and Replit aren’t the only companies building read-only functionality. Continue.dev, an AI coding assistant built for local development environments, also just launched plan mode.

Brian Douglas, head of developer experience at Continue.dev, said that the new mode provides “safer AI assistance by restricting tool access to read-only operations.”
“This mode bridges the gap between Chat (no tools) and full Agent mode (all tools), providing a middle ground for users who want AI assistance with code exploration and planning while maintaining complete control over actual code changes,” Douglas notes.
Plan mode will undoubtedly go down well with developers working on critical, complex codebases where safety and control are paramount – it lets teams and solo developers brainstorm, explore, and strategize with AI, without compromising their codebase.
Vibe coding, for its part, thrives on immediacy and rapid iteration – which can have disastrous consequences in production environments. Plan mode should help slow things down, preventing the AI from taking direct control and encouraging creators to deliberate before acting.