tool_input_parsingTier 1 · 70% confidence

ai-agents-tool-input-parsing-llm-outputs-json-string-tool-input-but-it-is-not-p-a5ebc321

agent: ai_agents

When does this happen?

IF LLM outputs JSON string tool input but it is not parsed as a valid dictionary, causing 'Error: the Action Input is not a valid key, value dictionary.'

How others solved it

THEN Ensure tool input parsing handles JSON strings robustly, especially for boolean and None values. One workaround is to instruct the LLM to output JSON strings with string representations of booleans and None (e.g., 'True' → '"True"') or to implement a pre-processing step that converts JSON strings into dictionaries before passing to the tool. Alternatively, adjust the tool's args_schema to accept a JSON string directly and parse it internally.

def _run(self, argument: str) -> Dict:
    try:
        params = json.loads(argument)
        # Ensure booleans/None are handled
        params = {k: str(v) if isinstance(v, (bool, type(None))) else v for k, v in params.items()}
        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