Product overview
What is BAML?
BAML is a programming language designed for AI agents and agentic coding. Boundary describes it as a response to development workflows in which agents repeatedly modify code, accumulate irrelevant context, and introduce mistakes that appear only at runtime. The language is designed to limit context pollution and churn while preserving the flexibility needed to write and execute code.
The website compares BAML's developer experience to TypeScript, with stronger error handling and no any, and its runtime-safety goal to Rust while retaining Python-like dynamism. The public page links to a quickstart, learning materials, changelog, source repository, and examples for trying BAML with an agent.
Core Features
- Agent-oriented language: Designed specifically for code written and maintained through agentic workflows.
- Context control: Aims to prevent irrelevant context from accumulating during coding sessions.
- Runtime safeguards: Favors language features that reduce mistakes during execution.
- Typed development: Presents a TypeScript-like experience without an unrestricted
anytype. - Dynamic execution: Retains flexibility for writing and running code.
Use Cases
- Agentic software development: Teams use BAML for code created and revised by coding agents.
- Reliable agent functions: Developers define agent behavior with stronger execution safeguards.
- Context-sensitive projects: Projects reduce churn caused by agents carrying unnecessary context.
Frequently Asked Questions
What is BAML designed for?
It is designed for AI agents and agentic coding workflows.
How does the website describe its type experience?
It says BAML feels like TypeScript with better error handling and no any.
Is learning material available?
Yes. The official page links to a quickstart, BAML learning materials, examples, a changelog, and GitHub.


