What Does a Compiler Look Like When Its Audience Isn't Human? Vercel's Zero Just Soft-Launched the Answer
For decades, the compiler has been writing to a human. Vercel's quiet release of Zero, a systems language whose diagnostics emit JSON, not prose, is the first widely watched attempt to make the assumption itself negotiable.

The most useful feedback is what helps agents work with less guesswork.
For fifty years, the compiler has been writing to a human. Error messages were prose and the repair loop assumed someone would read the output, scan the stack, and reach for the keyboard to fix it.
That assumption was the first part to break as agents took over writing the majority of code. Every coding agent now hits the same wall on the way back from a failed build where the compiler emits an error in unstructured text, and the agent has to parse the text, infer the fix, and try again.
On Friday, Vercel shipped a language whose answer to that fragility is to stop writing prose.
The compiler that doesn't write prose
Vercel's Zero is an experimental systems programming language from Vercel Labs, released May 15, 2026, and currently in self-proclaimed "unstable" v0.1.1 status under an Apache-2.0 license. The project claims to "explore what a programming language can look like when agents are primary users from day one." It compiles to sub-10-KiB native binaries, uses a .0 file extension, and lives at github.com/vercel-labs/zero. If the technical bet holds, the design choices are unusual enough to be consequential, and are reminiscent of Vercel's category-defining framework, Next.js.
Zero's compiler emits JSON so that every diagnostic comes back as a structured object containing a stable error code, a position with line and column and byte offset, a typed repair_hint field with a concrete fix step, and a category for routing. There is no English narrative wrapped around the data. The agent doesn't have to parse anything, and simply reads a JSON object and acts.
The toolchain follows the same logic. A single CLI binary exposes zero check --json, zero explain, zero fix --plan --json, and zero skills, which is a command that returns version-matched documentation workflows the agent can call directly, instead of scraping a docs site that might be out of sync with the compiler the agent is actually running.
Every Zero function declares what it can do directly in its signature. Access to standard output, the filesystem, or the network goes through an explicit World capability object passed into main(). If a function wants to write to disk, the disk capability has to be in the signature. The compiler rejects, at compile time, any call that uses a capability the caller doesn't hold, and the raises keyword marks fallibility as "declared", not inferred. The agent's reach becomes legible at the function level, where it's readable by the agent itself, readable by a reviewer, and enforceable before runtime.
No corporate launch, just the creator's quiet post
There was no Vercel blog post announcing Zero, and the official @vercel X account has not tweeted about the language, as of the time of publication. The closest thing to an official announcement came from Vercel Labs engineer Chris Tate on May 15: "Introducing Zero. The programming language for agents. I wanted a systems language that was faster, smaller, and easier for agents to use and repair. Explicit capabilities. JSON diagnostics. Typed safe fixes. Made for agents on day zero." Tate later told followers he had built Zero in three days. Vercel CTO Malte Ubl amplified the post separately with an unverified benchmark on a Bun rewrite, but no formal corporate communication followed.
The repo itself leans into the early-stage framing, calling Zero "an experiment in building an agent-first programming language," "intentionally unstable," and admitting, "Security vulnerabilities should be expected. Zero is not ready for production systems, sensitive data, or trusted infrastructure." The launch was first surfaced through AI tooling trade press rather than through any official Vercel channel.
The website, the repo, and the compiler are the announcement, and the community is doing the rest. The repo cleared over 1,500 stars within 48 hours and continued climbing through the weekend.
Where Rust's borrow checker was a few years back
The honest part lives in a twenty-two-minute hands-on review Mehul Mohan, who runs the developer-education platform Fermion and covers programming on his YouTube channel, posted on X the day after the launch.
Mohan echoes Vercel's language calling it "a programming language for agents" with "static dispatch, explicit capabilities, no mandatory garbage collection and no hidden runtime tags. It's JSON native." Then he tries to compile a hello.0 on his M-series MacBook.
"I am on darwin arm 64, which is what your mac OS is if you are running any M1-based Mac," Mohan says in the video. "This is actually not working right now. So I'm able to use the checker inside Zero, but I'm not able to run it, and this is a bug which is already filed." An error hits quick. Mario Zechner, the creator of libGDX, surfaced the same shipping issue from a different angle hours earlier, so it's clear that Zero's creators were not downplaying its instability.
Mohan goes on to write a small Rust program that uses a shared reference and a mutable reference in the same scope but in an order that should be safe. Rust compiles it. He ports the same shape to Zero, but Zero rejects it. "This borrow checker is not as powerful right now because this code technically should compile, but it does not because the borrow checker is not smart enough," Mohan says in the video. "And even with Rust, it was not smart enough a few years back."
In other words, Zero's borrow checker is at roughly the pre-non-lexical-lifetimes stage Rust shipped past years ago.
"Training data is missing"
The deeper critique in the reviews is the one a language designer can't patch. Mohan's preferred alternative is to retrofit, not rebuild: "A programming language like Rust is very mature, and it's very stable, and it's actually very good in order to be used as a systems programming language by AI agents," he says in the video. "But we can bring AI agent features over here as flags." He worries it will be difficult to guide LLMs on larger code bases because it's a new programming language without mounds of historical training data.
A commenter posting as SnooSongs5410 made the same argument on a Reddit thread in r/WebAfterAI, saying, "What makes an agent good with a programming language is a massive code base to train on. This isn't that." That's the chicken-and-egg the booster framing has to answer. An agent-first language helps agents that can already write the language. Frontier coding agents have ingested most of the publicly available Rust, Go, TypeScript, and C++ on the internet. But Zero, as of this week, has only ingested itself.
The skeptic case on Hacker News lands in the same place, with multiple users reminding others that Zero isn't the only agent-first language out there. Moonbit and Vera have been working in the same design space for longer, and a fourth, ilo-lang.ai, surfaced in the r/WebAfterAI thread when a commenter said they were building their own too.
The bet, not the artifact
The point clearly isn't perfection, however, but the implicit theory of who the compiler talks to. Every existing systems language assumes a human reads the error and every coding agent built in the last three years has been a workaround for that assumption. The workarounds are getting better as they add structured-output adapters, error-class taxonomies, retry harnesses, and judge-loop validators. But they are still, at best, workarounds. Zero is the latest entry in a small class of languages making this assumption negotiable.
The same gravitational pull is showing up at every layer of the stack right now: where databases ship security by default, build systems emit structured logs, and clouds proactively scope credentials. So Zero is the language-design version of the same move.
The languages that learn to talk to agents in their own vocabulary might not be the only ones that survive the agent era. Perhaps the breadth of the existing frameworks' corpus of training data will provide a moat that's not worth crossing. But a risk-taking compiler launched quietly on a Friday proves the biggest labs have an appetite for thinking outside the parameters of the table stakes stacks that got us here.




