Stop Prompting, Start Designing: How Loop Engineering is Reshaping AI Programming
In June 2026, Claude Code creator Boris Cherny and Google engineering lead Addy Osmani independently declared a new era: Loop Engineering—where you no longer prompt agents directly, but design systems that prompt themselves. This article breaks down the four paradigm shifts, five core building blocks, and the pitfalls already surfacing in practice.
Three Sentences, One New Era
In June 2026, three seemingly independent statements triggered a paradigm shift in the developer community.
Boris Cherny, creator of Claude Code, said in an interview: "I don't prompt Claude anymore. I have loops running that prompt Claude and figuring out what to do. My job is to write loops." OpenClaw founder Peter Steinberger tweeted: "You shouldn't be prompting coding agents anymore. You should be designing loops that prompt your agents." Shortly after, Google Chrome engineering lead Addy Osmani published an article that formally named this pattern—Loop Engineering.
This isn't just a new buzzword. It signals the next paradigm shift in AI-assisted programming.
Four Paradigm Shifts: Surrendering Control Step by Step
Compressing the last two years, the history of AI programming can be summarized as four consecutive handovers of control:
2023 · Prompt Engineering—Manually write every instruction, telling the AI line by line what to do. The bottleneck became obvious fast: people who wrote great prompts were massively productive; people who didn't were worse off than not using AI at all.
2024 · Agent Orchestration—Stop writing single prompts. Start orchestrating multiple agents to collaborate on complex tasks. The core insight: engineering the process of "teaching AI to understand your project."
2025 · Harness Engineering—Use configuration files (CLAUDE.md, hooks) to build the agent's working environment, ensuring every session starts with sufficient context.
2026 · Loop Engineering—Harness solved "how to manage." Loop solves "who manages." A harness is passive: you trigger it, it executes. A loop is active: it decides when to trigger itself, evaluates its own output, fixes its own mistakes, and writes what it learned back to persistent storage—waiting for the next wake-up call.
As Osmani put it: "Loop engineering sits one floor above the harness. The harness runs when you trigger it; the loop runs on a timer, spawns little helpers, and feeds itself."
Five Building Blocks + Memory Layer
A complete loop consists of five components plus a memory layer. Osmani specifically noted that both Claude Code and OpenAI Codex now have all five built in.
1. Scheduled Automations
The loop's trigger. Could be a cron job, GitHub Actions, or PR event webhook. Codex's Automations tab lets you define the project, prompt, and frequency; Claude Code's /loop and /schedule offer equivalent capabilities. OpenAI internally uses this for daily issue triage, CI failure summaries, and commit briefings.
2. Git Worktrees
Each agent works in an isolated git worktree, sharing git history but never interfering with each other. This enables parallel processing—one agent fixes a bug, another writes tests, a third refactors—without file conflicts.
3. Skills
Encode project conventions, practices, and hard-earned lessons into CLAUDE.md, AGENTS.md, or skill files that agents can understand. Osmani was blunt: "An agent starts every session cold and will fill any hole in your intent with a confident guess. A skill is intent written down." Without skills, every session starts from zero. With skills, knowledge compounds.
4. Plugins / MCP Connectors
Connect to external tools via MCP (Model Context Protocol): GitHub, Slack, databases, monitoring systems. Agents that can read and write code are useful; agents that can interact with your entire toolchain are transformative.
5. Sub-agents
Separate the "maker" from the "checker"—the most critical design decision in any loop. Osmani explained why: "The reason it matters specifically inside a loop is the loop runs while you are not watching, so a verifier you actually trust is the only reason you can walk away."
Claude Code's /goal operates exactly this way—a different model judges whether the loop is complete, rather than letting the agent grade its own homework. An agent that checks its own work is never trustworthy.
The Real Bottleneck is Verification Cost
Among all the Loop Engineering discourse, Blake Crosley's analysis delivered the sharpest insight: "Verification cost, not loop construction, decides what you can automate."
He transcribed multiple full talks by Cherny and discovered a pattern most people missed: every single loop Cherny actually named had machine-checkable success criteria—CI fixes, auto-rebasing, feedback clustering. Not open-ended feature development.
This is no coincidence. When verification can be automated (test suite passes, lint is clean, type checks succeed), a loop can run indefinitely. When verification requires human judgment (does this UI look good? is this architecture decision correct?), the loop degrades into a production line that churns out work for you to review.
AlphaSignal distilled this into four prerequisites:
- Repeatable tasks—not one-off explorations
- Automated verification—test suites, linters, type checkers in place
- Token budget tolerance—loops retry, explore dead ends, and waste tokens
- Agent has necessary tools—no human needed to operate external systems
Miss one of these, and the loop costs more than it delivers.
Known Pitfalls
Token costs. Loops reread context, retry, and explore multiple paths—token consumption dwarfs a single prompt. One analysis calculated that a loop running maker and checker simultaneously "will burn through a limited plan before breakfast."
Comprehension debt. Loop-generated code is code you didn't write, probably didn't thoroughly review, and don't fully understand. Technical debt you at least know you owe. Comprehension debt is worse—you don't even know what you don't know.
Cognitive surrender. Osmani coined this term for the most subtle risk: "When the loop runs itself it's very tempting to stop having an opinion and just take whatever it gives back." The same loop accelerates deep understanding when used with judgment—and accelerates ignorance when used to avoid thinking.
Review as the new bottleneck. As loop output increases, human review bandwidth becomes the ceiling. How many loops you can run depends not on your token budget, but on how fast you can inspect the output.
Three Things You Can Start Today
The barrier to entry for Loop Engineering is lower than you think, because the tools already have the core capabilities built in:
Write a solid CLAUDE.md / AGENTS.md. Document your project conventions, practices, and "we don't do this because that one time" knowledge. This is the foundational building block.
Run your first loop with /goal or /loop. You don't need to write a bash orchestrator. Claude Code's /goal handles maker-checker split automatically. Start small—babysit a PR, run a lint check every hour.
Split maker and checker. Get in the habit of using sub-agents for verification. Never let the same agent check its own work. This simple separation is the core of loop quality assurance.
Closing Thoughts
Loop Engineering is a genuine engineering evolution, not hype. But it's harder than prompt engineering, not easier—because you're no longer designing a piece of text; you're designing a system that must operate reliably while no one is watching.
Osmani's closing line is worth rereading:
Build the loop. But build it like someone who intends to stay the engineer, not just the person who presses go.
Pulumi's Engin Diri put it differently but pointed at the same truth:
The loop will do the typing. The thinking is the work.
Loops won't replace your judgment. They'll amplify your judgment—provided you still have judgment worth amplifying.