Skip to content

Fix Anthropic rejection of built-in tool input schemas - #116

Merged
lukebuehler merged 2 commits into
mainfrom
fix/anthropic-builtin-input-schemas
Oct 9, 2026
Merged

lukebuehler merged 2 commits into
mainfrom
fix/anthropic-builtin-input-schemas

Conversation

@lukebuehler

Copy link
Copy Markdown
Contributor

Anthropic rejects requests advertising blob_put, Write, or VfsWrite because their input schemas contain top-level oneOf constraints, including in sessions with code mode disabled. Remove those constraints from the shared blob and file-writer schemas while preserving the descriptions and runtime validation that require exactly one input. Binary/reference writes, provider-specific arguments, and blob-tool availability are preserved.

Adds three live regressions and checks assembled Anthropic toolsets with code mode enabled and disabled. Extends invalid blob-input coverage and regenerates the captured provider requests; fixture changes only remove the affected top-level constraints.

Validation:

  • cargo test -p tools --locked --quiet
  • cargo test -p llm-runtime --locked --quiet (credentialed suites remain ignored)
  • All three live schema regressions and the baseline generation test pass with ANTHROPIC_MESSAGES_MODEL=claude-opus-5-5.
  • cargo clippy --workspace --all-targets --locked -- -D warnings
  • cargo fmt --all -- --check
  • git diff --check

@lukebuehler
lukebuehler enabled auto-merge (squash) October 9, 2026 17:59
@lukebuehler
lukebuehler merged commit 037e45b into main Oct 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant