Practical overview
When it fits
Use BAML when developing agent functions where structured output, explicit types and errors, concurrency, or built-in testing and evaluation matter.
Who it is for
- Developers building agent functions that return structured data.
- Teams that want tests and evaluations in their agent-development workflow.
- Application developers who want to call BAML functions from TypeScript, Python, Go, C#, or Java.
Documented uses
- Define typed agent functions for structured outputs.
- Add tests and evaluations to agent development.
- Use concurrency features in agent workflows.
- Call BAML functions from an application written in a supported host language.
Requirements & limits
The public GitHub repository identifies BAML as open source under the Apache-2.0 license. The repository documents a Homebrew CLI installation sequence.
- BAML can run standalone or be adopted through function calls from TypeScript, Python, Go, C#, or Java.
- Its documented features include runtime-persistent types, typed and statically analyzed errors, concurrency, and built-in tests and evaluations.
- The repository's setup sequence uses Homebrew and includes a VS Code integration installation command.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install BAML and initialize a project
Follow the repository's documented CLI setup sequence.
Before you start
- A system with Homebrew available, as the documented installation command uses brew.
Steps
Install BAML with
brew install baml.Run
baml agent install.Initialize with
baml init.Install the VS Code integration with
baml ide install --code.
Expected outcome
The documented installation and project-initialization commands have been followed, with the VS Code integration installation included.
Guide limitations
- The repository does not specify platform compatibility or further configuration in this command sequence.
- This is a setup guide; it does not describe running an agent function.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 7 October 2026
- Original website title
- BoundaryML/baml · Official homepage title · retained in its source language

