Apple is enforcing a decade-old App Store rule against a new class of software: apps that generate other apps at runtime. The rule, Guideline 2.5.2, requires apps to be self-contained and prohibits executing code that introduces or changes features. It was written in 2014, long before AI coding assistants like Replit and Vibecode existed.
What’s happening
Since January 2026, Apple has blocked updates to several AI coding apps, including Replit and Vibecode. The cited reason is 2.5.2: the reviewed binary contains an unbounded number of unreviewed generated apps inside an embedded web view. Apple’s position is that the wrapper got reviewed, but the contents did not.
According to a report from The Information, Apple was close to approving Replit’s updates if the company stopped previewing generated apps inside its iOS client and opened them in Safari instead. The fix wasn’t “stop generating code” — it was “stop showing the generated thing inside the reviewed thing.”
On March 26, Apple escalated enforcement by pulling an app called Anything from the App Store entirely, citing the same rule. Anything’s co-founder Dhruv Amin had spent three months submitting four different technical rewrites in response to Apple’s feedback. The final attempt routed generated app previews through an external web browser. Apple rejected the update and removed the existing version anyway.
The underlying problem
Apple’s review process was built for software that holds still. Version numbers, release notes, bug reports, and reproducibility all assume a single canonical artifact that doesn’t change after submission. Adaptive software — where each user’s version drifts from every other user’s — breaks that assumption. A bug isn’t reproducible because the software that produced it isn’t there anymore. There is no “latest version” because there is no version.
Apple’s reviewers have no method for evaluating software whose behavior is determined at runtime by a model. The reviewable artifact and the running artifact are not the same kind of thing.
The contradiction on the same device
While Apple enforces 2.5.2 against Replit, ChatGPT — an iOS app that went through Apple’s review — now distributes third-party software through its own internal directory. ChatGPT apps aren’t binaries; they are MCP servers paired with web UI components that the model can render inline. The model decides which app to surface based on conversational context.
OpenAI’s directory hosts Spotify, Zillow, Canva, Coursera, Booking.com, Expedia, Adobe Photoshop, Gmail, Microsoft Teams, Stripe — and Replit. Eight hundred million people use ChatGPT every week. The same Replit that Apple blocked from updating its iOS app is now available inside ChatGPT.
This creates a contradiction that Apple’s reviewers will eventually have to resolve. They can apply 2.5.2 to ChatGPT itself — restricting one of the most-used apps in the world — which invites antitrust action. Or they can accept that the rule applies only when the runtime is native, not when mediated by a language model on someone else’s servers.
What’s at stake
Replit’s CEO Amjad Masad called Apple’s stated reasoning “a lie” at StrictlyVC and said the company could prove it in court. The fight is between two theories of what software is: a static artifact that can be inspected, or a dynamic capability that adapts at runtime.
The rest of the software distribution stack — package managers, CI/CD pipelines, versioning, support tooling — was built on the same assumption that software holds still. That assumption is about to expire. The platforms that survive will be the ones that can hold software in motion.
Bottom line
Apple’s enforcement of 2.5.2 is a structural collision between a review process designed for static binaries and a generation of software that generates itself at runtime. The outcome will reshape not just the App Store, but the entire infrastructure of software distribution.