Zero | The programming language for agents.
Experimental<br>The programming language<br>for agents.<br>Zero is a systems language designed so humans and AI agents can read, repair, inspect, and ship small native programs together. It keeps effects explicit, memory predictable, and compiler output structured.<br>Get started<br>curl -fsSL https://zerolang.ai/install.sh | bash
Smallnative artifacts<br>Built for tiny tools<br>Zero is designed around static dispatch, explicit capabilities, no mandatory GC, and no hidden runtime tax. Size reports make artifact costs visible.
JSON-nativediagnostics & fixes<br>Agent-first tooling<br>Structured diagnostics, graph output, size reports, and typed repair metadata are part of the toolchain rather than an afterthought.
Expliciteffects & memory<br>Local reasoning first<br>Function signatures expose fallibility and capabilities. Allocation is explicit. Target limits are reported before code generation when possible.
main.0<br>fun answer() -> i32 {<br>return 40 + 2
pub fun main(world: World) -> Void raises {<br>if answer() == 42 {<br>check world.out.write("math works\n")
zero check --json<br>$ zero check --json<br>"ok": false,<br>"diagnostics": [{<br>"code": "NAM003",<br>"message": "unknown identifier",<br>"line": 3,<br>"repair": { "id": "declare-missing-symbol" }<br>}]
Humans read the message. Agents read the JSON. The same CLI surfaces diagnostics, repair metadata, graph facts, and size reports.
Design<br>Everything is explicit.<br>No hidden allocator. No implicit async. No magic globals. If a function touches the outside world, the signature says so.
No mandatory GC or event loop<br>The language keeps allocation, cleanup, and outside-world access visible in code.
Cross-target checks<br>The compiler can check target-neutral code for multiple targets and emit direct artifacts for the documented subset.
C boundary support<br>Zero exposes C ABI exports and target-aware interop metadata for low-level boundaries.
Capability-based I/O<br>Functions declare what they touch. The compiler rejects unavailable capabilities at compile time, not runtime.
Built for agents<br>Stable diagnostic codes, machine-readable docs, and fix plans make code easier for humans and agents to repair together.
One small toolchain<br>Check, build, test, format, inspect, and document projects from one CLI.
Start with zero.<br>Install the compiler, run an example, and try the agent-native workflow.<br>Get started
Ask AI⌘I