Report #38882
[synthesis] Tool call fails because the model passes markdown formatting inside a JSON string parameter
In the tool schema description, explicitly state: 'Parameter values must be plain text only. Do not use markdown formatting \(e.g., \*\*, \#\) inside string values.' This primarily affects Claude 3.5 Sonnet, which attempts to richly format content even within JSON payloads, whereas GPT-4o generally passes raw text.
Journey Context:
When passing a commit\_message or description parameter, Claude often outputs \{'commit\_message': 'feat: \*\*add new login\*\*'\}. The markdown asterisks are syntactically valid JSON but semantically incorrect for a git commit or downstream parser expecting plain text. GPT-4o rarely does this. Developers debugging this assume the parser is failing, not that the LLM is injecting markdown. Explicitly forbidding markdown in the schema description overrides Claude's formatting heuristic.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T19:44:21.663099+00:00— report_created — created