Edited by humans. Written by AI. How our editing works
All articles

Vercel's Zero: A Programming Language Built for AI

Vercel's Zero is a systems language where the entire toolchain outputs JSON for AI agents. Cool experiment—but did we actually need a whole new language for this?

Yuki Okonkwo

Written by AI. Yuki Okonkwo

May 20, 20266 min read
Share:
Pixelated "hello.d" text with crossed-out icons representing traditional programming tools, gears, and lightning bolt on…

Photo: AI. Phaedra Lin

Somewhere between "genuinely interesting research" and "solution looking for a problem" sits Zero, a new systems programming language from Vercel Labs. It's designed from the ground up for one specific premise: AI agents shouldn't have to parse error messages written for human eyeballs. Everything the compiler touches can output structured JSON. That's the whole bet.

Whether that bet pays off is a more open question than Vercel's landing page suggests.

What Zero Actually Is

Zero lives in the same neighborhood as Rust and Zig—systems-level, compiled, explicit about memory. The syntax won't shock you. You've got enums, structs (called "shapes" here), match expressions, for loops. Error handling uses a check keyword that does roughly what Rust's ? operator does, just spelled out. Files use the .0 extension, which is either minimalist or annoying depending on your mood.

The more interesting design choice is the capabilities system. Want to do any I/O—print to the terminal, read a file, make a network call? Your function needs the world capability declared explicitly. No world capability, no side effects. This isn't just documentation theater; the compiler enforces it. Try to use filesystem access in a function and then target a WebAssembly build, and the compiler rejects it at compile time rather than letting you discover the problem at runtime. That's genuinely useful, and it's a pattern that people have been asking for in systems languages for a while.

Memory management follows the same philosophy of explicitness: owned types, mutable spans for writable views, regular spans for readable views, and a defer keyword for cleanup logic. Nothing groundbreaking if you've spent time with Rust, but it's coherent. The language has a clear point of view.

The Real Pitch: A Toolchain That Talks to Machines

Here's where Zero diverges from "just another systems language" territory. The Better Stack video that's been making the rounds this week put the core argument plainly: "current languages were built for humans. So we read the error messages, the warnings, and the traces, but AI works much better when it has structured data."

So Zero's toolchain isn't just capable of producing JSON output—it's been designed around that capability. Run zero check on broken code with the JSON flag, and instead of a wall of formatted text, you get a structured diagnostic object: severity, error code, exact location, expected vs. actual values, a human-readable message, and a separate field specifically for LLM consumption labeled something like help. There's even a fixed_safety field that can flag whether a fix requires human review before applying.

The zero fix command takes this further. Point it at a broken file, and it returns a structured repair plan—safety levels, applicable edits, self-host repair policy, the full diagnostic, and the canonical fix for that specific error code. The framing is almost philosophical: "What if the language provided its own documentation when it was needed?" Rather than an AI agent having to fetch docs or rely on training data, the toolchain hands over the context inline.

To test this, the Better Stack video creator dropped a broken Zero file into a directory with zero (sorry) context about the language—no docs, no examples, nothing—and asked Claude to fix it. Thirty-one seconds later, Claude had found and patched all three intentionally introduced bugs, using only the output from zero fix as its guide. "This is a brand new language that an LLM can still debug thanks to how the language has been built," the video notes. That part is legitimately impressive.

The Skeptic's Case

But here's the tension that doesn't go away: is this a language feature, or just a good idea that didn't need a new language?

Rust already outputs JSON-formatted errors. You can run cargo build --message-format json and pipe it wherever you want. The ecosystem around compiler diagnostics has been moving toward machine-readable formats for years—Language Server Protocol (LSP) is basically this idea already, and it works across dozens of languages without anyone having to invent new syntax. The video makes exactly this point: "I'm not really sure that we needed a whole language to be built around this idea, and maybe you could have just improved the existing ones if you thought there was a gap in the information."

There's also the training data problem, and it cuts both ways. Zero has zero training representation in any current LLM. For simple, self-contained debugging tasks with rich toolchain output, that might not matter much—as the Claude demo shows. But the moment you're building anything complex, you want a model that has seen thousands of examples of your language, knows its idioms, has absorbed its community wisdom. Rust has that. Zig is getting there. Zero is starting from scratch, and that gap is real.

The counterargument from Zero's camp would probably be: that's the point. We're not trying to replace Rust for complex applications. We're trying to demonstrate a paradigm where the toolchain itself becomes the documentation layer for AI agents, especially for novel or domain-specific languages where training data will never exist. As a proof of concept for that idea, Zero succeeds.

The Harder Question Underneath

What's actually interesting here isn't whether Zero specifically takes off—it probably won't, at least not in its current form. What's interesting is the design question it's surfacing: as AI agents write more code, who are programming languages actually for?

Languages have always been human interfaces. The semantics have to make sense to us; the error messages have to be legible to us; the community and documentation have to be navigable by us. The entire stack was built around the assumption that a human is in the loop at every step. Zero is a small but deliberate challenge to that assumption. If an AI agent is writing, debugging, and iterating on code autonomously, maybe the toolchain should be optimized for that agent's needs—and humans can have the pretty-printed version as a secondary output.

That's not a crazy idea. It's also not necessarily a new-language problem. LSP, structured compiler output, and tools like ast-grep are already making codebases more machine-readable without requiring anyone to switch languages. The path forward might look less like "build AI-native languages" and more like "add AI-native interfaces to languages that already have ecosystems."

Or maybe Zero is early and wrong in its specifics but right in its direction, the way early web frameworks were clunky but pointed somewhere real.

The Claude demo works. The language is coherent. The question of whether a new language was the right vehicle for this idea—that one's still genuinely open.


Yuki Okonkwo is Buzzrag's AI & Machine Learning Correspondent. She covers the people and systems shaping how software gets built.

From the BuzzRAG Team

AI Moves Fast. We Keep You Current.

Framework breakdowns, tool comparisons, and AI coding insights — distilled from the best tech YouTube creators. Free, weekly.

Weekly digestNo spamUnsubscribe anytime

More Like This

Pixelated brain illustration with "99% SAVINGS" badge and "CLAUDE CODE" text on black background, representing cost…

This MCP Server Cuts Claude's Token Costs by 99%

Context Mode solves Claude Code's expensive context bloat problem by virtualizing data storage, extending coding sessions from 30 minutes to 3+ hours.

Yuki Okonkwo·4 months ago·6 min read
Large white pixelated text with a red diagonal line striking through it against a black background, conveying failure or…

Why Skills Are Flunking: Vercel's AI Agent Revelations

Vercel finds skills often unused by AI agents. Discover why agents.md might be the true MVP.

Yuki Okonkwo·6 months ago·3 min read
Bold yellow "ZERO HUMANS" text with robot network diagram showing interconnected AI agents, credit cards, and a rejected…

Paperclip Wants to Turn AI Agents Into a Company

Paperclip hit 64K GitHub stars by promising to fix multi-agent chaos with org charts, budgets, and audit logs. Here's what that actually looks like in practice.

Yuki Okonkwo·2 months ago·
Developer at gaming setup with triple monitors displaying AI brain visualization and code, with text "35 Trending AI…

The AI Agent Explosion: 35 Projects Solving Real Problems

From security sandboxes to autonomous research pipelines, GitHub's AI agent ecosystem is addressing practical problems—not just building demos.

Mike Sullivan·4 months ago·5 min read
A man gestures while discussing programming languages against a dark background with code diagrams and language names like…

Why Natural Language Is Now the Most Important Code

After 50 years of programming evolution, computers finally understand us. IBM's Jeff Crume explains why English beats Python in the AI era.

Bob Reynolds·5 months ago·6 min read
Yellow "GOODBYE SENTRY" banner with "MCP" label pointing to a blue app icon featuring a pixelated character on black…

Claude Code + Better Stack: AI Debugging Without the Tab-Switching

Better Stack's MCP server lets Claude Code pull errors, fix bugs, open PRs, and resolve issues—all from the terminal. Here's what that actually looks like.

Yuki Okonkwo·2 months ago·7 min read
Anthropic's Opus 4.7 announcement displayed on a dark background with orange particle wave design and glowing white text

Claude Opus 4.7 Promises Coding Dominance—With Caveats

Anthropic's Claude Opus 4.7 crushes coding benchmarks and builds impressive demos, but token consumption and quirks suggest the 'best' model depends on context.

Yuki Okonkwo·3 months ago·5 min read
Two metallic robots with "MODEL" and "HARNESS" labels examine equipment against a starry background with bold retro-style…

Harness Engineering: The New Frontier in AI Development

AI companies are shifting focus from better models to better infrastructure. Harness engineering—the systems around models—might matter more than the models themselves.

Yuki Okonkwo·3 months ago·7 min read

RAG·vector embedding

2026-05-20
1,516 tokens1536-dimmodel text-embedding-3-small

This article is indexed as a 1536-dimensional vector for semantic retrieval. Crawlers that parse structured data can use the embedded payload below.