Vercel Labs released Zero on May 15 — an experimental systems programming language whose design constraint is that AI agents, not humans, must read the compiler output. The compiler emits structured JSON diagnostics with stable error codes and typed repair plans (e.g. `{"code": "NAM003", "message": "unknown identifier", "repair": {"id": "declare-missing-symbol"}}`), enforces capability-based I/O at compile time, and compiles to sub-10 KiB native binaries on linux-musl-x64. Apache 2.0, file extension `.0`, v0.1.1 experimental, repo at github.com/vercel-labs/zero. Authors: Chris Tate with Matt Van Horn at Vercel Labs.

Three design choices separate Zero from Rust, Zig, Go, and C. First, JSON diagnostics by default with stable codes plus repair IDs, so an agent can map `NAM003` to a fix plan without grepping a human-prose error message. Second, capability-based I/O via a `World` parameter — a function that doesn't receive `World` cannot perform side effects, and the compiler enforces it at compile time, so an agent can infer effects from the type signature without reading the body. Third, a unified CLI with subcommands (`zero check`, `zero run`, `zero build`, `zero graph`, `zero size`, `zero routes`, `zero skills`, `zero explain`, `zero fix`, `zero doctor`) where `zero fix --plan --json` emits a machine-readable repair plan and `zero skills` returns version-matched agent guidance. Memory is explicit — no GC, no hidden allocator — and the language sits next to Rust in the design space but optimizes its surface for agent legibility.

Most coding-AI vendors compete on the layer around programming languages: Copilot, Cursor, Codex, Anthropic's Claude Code. Vercel Labs is betting one layer deeper — that the language itself should change so agents can work it without an interpretation tax. The two precedents this echoes are Rust's compiler error codes (stable, queryable, but the message is still prose) and Zig's clean error returns (legible but no capability system). Zero is what happens when you start with "agent must parse this" as a constraint and design the diagnostic format, the effect system, and the CLI around it. Whether the bet pays depends on whether agent-native languages compound enough advantage over agents-retrofitted-to-existing-languages to offset the ecosystem deficit. Zero has no package registry, no production validation, and the author calls it "not yet a production dependency."

Monday: if you're building agent-driven code-generation systems, Zero is worth a one-day exploration to see what it feels like when the compiler treats your agent as a first-class consumer. The JSON diagnostic format and `zero explain` subcommand are immediately observable; the capability-I/O system needs writing a non-trivial program to evaluate. If you're a language designer, the architectural moves are independently extractable — Zig and Rust could both add JSON diagnostics with repair IDs without breaking source compatibility, and that would absorb most of Zero's agent-affordances back into existing toolchains. Watch whether Zero develops a real ecosystem in six months or whether the techniques migrate upstream into Rust/Zig before Zero gets there. Either outcome confirms that agent-legibility is becoming a language-design axis.