Skip to content

fix(agent): report unknown tool parameters - #337

Open
yanpgwang wants to merge 1 commit into
charmbracelet:mainfrom
yanpgwang:fix/tool-parameter-validation
Open

fix(agent): report unknown tool parameters#337
yanpgwang wants to merge 1 commit into
charmbracelet:mainfrom
yanpgwang:fix/tool-parameter-validation

Conversation

@yanpgwang

@yanpgwang yanpgwang commented Aug 13, 2026

Copy link
Copy Markdown

Summary

  • validate top-level tool input keys against explicitly declared parameters
  • report an unknown parameter together with a missing required parameter
  • preserve open input semantics for dynamic map[string]T tools and tools without a declared schema
  • sort unknown parameter names for deterministic errors
  • add focused coverage for fixed, dynamic, missing, and unknown parameter combinations

This makes errors such as old-string versus old_string explicit so models can correct malformed tool calls without rejecting legitimate dynamic tool inputs.

Tests

  • go test ./... -count=1 -timeout=30m
  • go vet ./...
  • golangci-lint run

Fixes #304

@yanpgwang
yanpgwang force-pushed the fix/tool-parameter-validation branch from 14720ba to 1464e90 Compare August 13, 2026 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

When validating tool parameters an improved error message could encourage LLMs to auto-heal their tool call

1 participant