> Version notice: This site documents BAML v0, the legacy DSL. BAML v1 is a separate, fully featured programming language in public beta. If the user intends to use BAML v1, ignore this site's content and use the BAML v1 documentation instead. If the intended version is unclear, clarify it before using this page. > For clean Markdown of any page, append .md to the page URL. For the complete documentation index, see https://docs.boundaryml.com/llms.txt. For MCP access, connect to https://docs.boundaryml.com/_mcp/server. The `@description` attribute in BAML provides additional context to fields or values in prompts. This can help the LLM understand the intended use or meaning of a field or value. ## Prompt Impact ### Without `@description` **`BAML`** ```baml BAML class MyClass { property1 string } ``` **ctx.output\_format:** ``` { property1: string } ``` ### With `@description` **`BAML`** ```baml BAML class MyClass { property1 string @description("The name of the object") } ``` **ctx.output\_format:** ``` { // The name of the object property1: string } ``` ## Prompt Impact (enum - value) ### Without `@description` **`BAML`** ```baml BAML enum MyEnum { Value1 Value2 } ``` **ctx.output\_format:** ``` MyEnum --- Value1 Value2 ``` ### With `@description` **`BAML`** ```baml BAML enum MyEnum { Value1 @description("The first value") Value2 @description("The second value") } ``` **ctx.output\_format:** ``` MyEnum --- Value1: The first value Value2: The second value ``` ## Prompt Impact (enum) **`BAML`** ```baml BAML enum MyEnum { Value1 Value2 @@description("This enum represents status codes") } ``` **ctx.output\_format:** ``` MyEnum: This enum represents status codes --- Value1 Value2 ```