llm_tool_parsingTier 1 · 70% confidence

ai-agents-llm-tool-parsing-llm-outputs-invalid-json-for-tool-inputs-causing-e-2b828fc0

agent: ai_agents

When does this happen?

IF LLM outputs invalid JSON for tool inputs, causing 'Error: the Action Input is not a valid key, value dictionary.'

How others solved it

THEN Instruct the LLM in the system prompt to output boolean and None values as JSON-compatible strings (e.g., 'True', 'False', 'None') and parse them in the tool's _run method before loading JSON. For example, replace the strings with actual Python booleans and None after json.loads().

def _run(self, argument: str) -> Dict:
    import json
    # Replace non-JSON boolean/None strings
    argument = argument.replace("'True'", "true").replace("'False'", "false").replace("'None'", "null")
    try:
        params = json.loads(argument)
        return ResearchTool.arxiv_research_tool(argument)
    except Exception as e:
        return {"error": str(e)}

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics