For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Help on Discord
HomeGuideExamplesBAML ReferencePlaygroundAgents.mdChangelog
HomeGuideExamplesBAML ReferencePlaygroundAgents.mdChangelog
  • Introduction
    • What is BAML?
    • Why BAML?
    • What's the baml_src folder
    • What's baml_client
  • Installation: Editors
    • VSCode Extension
    • Cursor Extension
    • JetBrains IDEs
    • Zed
    • Claude Code
    • Others
  • Installation: Language
    • Python
    • Typescript
    • Go
    • Ruby
    • Rust
    • REST API (other languages)
    • Elixir
  • Framework Integration
  • Development
    • Environment Variables
    • Terminal Logs
    • Upgrade BAML versions
  • BAML Basics
    • Prompting with BAML
    • Switching LLMs
    • Testing functions
    • Streaming
    • Multi-Modal (Images / Audio)
    • Error Handling
    • Configuring Timeouts
    • Concurrent Calls
    • AbortSignal / Cancellation
  • BAML Advanced
    • Collector (track tokens)
    • LLM Client Registry
    • Dynamic Types
    • Reusing Prompt Snippets
    • Prompt Caching / Message Role Metadata
    • Checks and Asserts
    • Modular API
    • Prompt Optimization
  • Boundary Cloud
  • Comparisons
    • BAML vs Langchain
    • BAML vs Marvin
    • BAML vs Ai-SDK
    • BAML vs OpenAI SDK
    • BAML vs Pydantic
    • Contact
Help on Discord
LogoLogo
On this page
  • Workarounds
  • Using the BAML Language Server
  • Manual Editing
  • Contributing
Installation: Editors

Other Editors

Was this page helpful?
Edit this page
Previous

Python

Next
Built with

We don’t currently have official extension support for the following editors:

  • Helix
  • Vim / Neovim
  • Emacs
  • Sublime Text
  • Atom

Workarounds

Since BAML uses a standard Language Server Protocol (LSP) implementation, you may be able to configure your editor to use the BAML language server manually.

Using the BAML Language Server

The BAML CLI includes a built-in language server. You can start it with:

$baml-cli lsp

This starts an LSP server on stdio that you can connect to from any editor with LSP support.

Manual Editing

An alternative is to edit your files in our Playground, and copy the code into your editor. However, we recommend using one of our officially supported editors for the best experience:

  • VS Code
  • Cursor
  • JetBrains IDEs
  • Zed

Contributing

If you’re interested in contributing editor support for another editor, please reach out. We’d love to help you get started!

The BAML extension is a language server, so we can technically support any editor that supports the Language Server Protocol. The main components needed are:

  1. Syntax highlighting: Usually via TextMate grammars or tree-sitter
  2. LSP integration: Connecting to the BAML language server
  3. Playground (optional): A webview for interactive testing