
Boundary
BAML, an open-source language for typed, testable LLM functions and reliable structured outputs.

Overview
Boundary: BAML, a programming language for reliable LLM outputs
Boundary builds BAML, an open-source, statically-typed programming language designed around a specific observation: most LLM failures in production are really parsing and typing failures. BAML makes LLM calls first-class typed functions — you define the input, the output schema, and the prompt together, and the language guarantees the model's response is coerced into your types or fails loudly. No any type, no silently malformed JSON drifting through your pipeline.
The design philosophy is deliberate: "no viral edits" (changing one prompt shouldn't ripple through your codebase), undesired states should be unrepresentable, and nondeterminism should be observable. BAML's syntax reads like TypeScript, compiles to native clients for Python, TypeScript, and other languages, and ships with testing, green threads for parallel LLM calls without async boilerplate, and tooling built for the agent era — including the ability to expose any BAML function as a CLI command.
Key Features
- Typed LLM functions: define prompt, inputs, and output schema together; get validated, typed results in your host language
- Provider-agnostic: swap between OpenAI, Anthropic, Gemini, Llama, and other models without rewriting application code
- Built-in testing so prompts are verified like code, not vibes-checked in a playground
- Green threads (
spawn/await) parallelize LLM calls without async function declarations - Streaming structured outputs, so partial typed results arrive as the model generates
- Free open-source core (CLI and editor extension); Team plan at $25/month adds private projects and priority support, with a 14-day trial
Ideal Use Case
BAML fits teams building extraction pipelines, agents, or any LLM feature where malformed output breaks things downstream. If you've accumulated a pile of JSON-repair regexes, retry loops, and Pydantic validators around raw model calls, BAML replaces that scaffolding with a language-level guarantee — and because it generates native Python/TypeScript clients, it slots into existing codebases rather than replacing your framework.
How Boundary differentiates
Boundary is a Y Combinator-backed company based in Seattle, and BAML has earned over 8,400 GitHub stars as an open-source project. Libraries like Instructor bolt structured outputs onto an existing language; Boundary's bet is that a purpose-built language — with its own type system, test runner, and compiler — is the right abstraction, the same way SQL beat string-concatenated queries. The schema-aligned parsing approach also works with models that lack native function calling, broadening which (and how cheap) models you can use reliably.
FAQ
Is BAML open source? Yes — the language, CLI, and editor tooling are open source and free; the repository is github.com/BoundaryML/baml.
What languages can I call BAML from? BAML generates native clients for Python and TypeScript, with additional runtimes documented for other languages.
Do I need a model with function calling? No. BAML's schema-aligned parsing extracts structured outputs from any model's text, including ones without native tool-use support.
What does the paid plan add? The $25/month Team tier adds private projects, collaboration for unlimited developers, and priority support; Enterprise adds on-prem, SSO/SAML, and an uptime SLA.
tl;dr
Boundary's BAML is an open-source language that turns LLM calls into typed, testable functions with guaranteed structured outputs — free to use, with paid team and enterprise tiers.
Related
Looking for more options? Browse the Developer Tools directory or read our best AI coding tools listicle. Boundary is also tracked on Crunchbase.
Why Use Boundary

User Reviews
Similar Tools



