For the complete documentation index, see llms.txt. This page is also available as Markdown.

3.3.2

BoxLang AI Module 3.3.2 — Fix for Claude structured output via a synthetic tool-forcing workaround.

Released: June 2026

BoxLang AI 3.3.2 is a targeted patch release fixing structured output support for Claude models.


🪲 Fixed

  • Claude structured output via synthetic tool: Claude models lack OpenAI-style response_format, so structured output was silently unsupported — the schema was never sent and populateStructuredOutput() failed parsing the model's prose. Fixed by injecting a synthetic structured_output tool (requested schema as input_schema), pinning tool_choice to it, and routing the returned tool_use.input through populateStructuredOutput(). Now fails loud with StructuredOutputError and an ai-log entry when the forced tool block is absent (max_tokens truncation, refusal, or tool_choice not honored) instead of feeding prose into the JSON populator. (#198)

This fix applies to both the direct Anthropic API and Claude models accessed through AWS Bedrock. No code changes are required — existing .structuredOutput() calls against Claude models now work correctly.


📖 Documentation

  • Structured Output.structuredOutput() and schema-driven extraction

Last updated