Command index

Every public command captured from the exact BAML 0.19.0 executable.

Reference version

Commands

  • baml agent — Install the toolchain's BAML agent skill for this project
  • baml auth — Manage the identity used by BAML services. Use `baml auth login` to authenticate, `baml auth whoami` to inspect the current identity, and `baml auth logout` to remove the authenticated session.
  • baml check — Check BAML source files for compiler errors. Discovers the nearest BAML project from the search path, checks every source file in that project, and prints compiler errors and warnings.
  • baml clean — Remove segmented local profiler data
  • baml describe — Describe BAML symbols and language concepts. With no name, lists symbols in the current project. A name can identify a project symbol, builtin package, namespace, type, member, or BAML keyword. Builtin documentation works outside a project, so `baml describe baml` is the entry point for exploring the complete standard library.
  • baml feedback — Report an issue or improvement to Boundary
  • baml fmt — Format BAML source files. With explicit paths, formats those files or directories. With no paths, discovers the nearest BAML project and formats all of its `.baml` files. If no project is found, the command succeeds without changing anything.
  • baml generate — Generate client code from BAML definitions. Reads every `[generator.<name>]` section in `baml.toml`, validates the project, and writes each configured client. Use `--output-dir` to override the configured output directory for every generator in this invocation.
  • baml ide — Install or manage IDE integration assets
    • baml ide install — Install the active toolchain's BAML editor extension. Select Cursor or VS Code explicitly, or use `--output-dir` to copy the VSIX for a manual installation. With no option, BAML selects an available supported editor.
  • baml init — Scaffold a new BAML project under the given directory (default `.`). Refuses to clobber an existing `baml.toml`. Creates `baml.toml` and `baml_src/main.baml`. The destination directory may already exist, but it must not already contain a BAML manifest.
  • baml lsp — Start a BAML language server over standard input and output. Editor integrations normally start this command automatically. Use one or more `--workspace` paths when launching it outside an editor client.
  • baml new — Create a fresh directory at `<PATH>` and scaffold a project inside. Refuses to run if `<PATH>` already exists, the same way `cargo new` does. Creates the destination directory, `baml.toml`, and `baml_src/main.baml`. Use `baml init` when the directory already exists.
  • baml pack — Package one or more BAML targets as a standalone executable. A positional target produces a single-entry executable. One or more `--function` flags produce an executable whose generated CLI has one subcommand per function. Function parameters are derived from BAML types.
  • baml playground — Open the BAML playground in a browser. Serves either a discovered BAML project or one standalone source file. By default, the server selects the first available port starting at 4265 and opens a browser unless the session is headless.
  • baml query — Query the local profile store with SQL
  • baml run — Run a BAML function, script, or expression. Choose one execution mode: a positional function or script, one or more `--function` targets, or an inline `--expression`. Function parameters come after `--` and are parsed by an auto-generated CLI based on each signature.
  • baml self-update — BAML wrapper self-update
  • baml test — Run BAML tests. With no filters, runs every test selected by the active profile, or every project test when no profile is configured. Use `--list` to discover the canonical IDs accepted by `--include` and `--exclude`.
  • baml toolchain — BAML toolchain management