Agents and Tool Calling: What Could Go Wrong?
Forty-two questions on how tool-using agents break. Covers schema and description design, the agent loop and when it stops, parallel versus sequential calls, idempotency under retries, error messages as model input, MCP trust boundaries, prompt injection through tool results, and least privilege for agent credentials. Every explanation links to a specification, vendor document, or paper.
Questions
- Not answered. An agent keeps calling the wrong tool. What should you fix first?
- Not answered. Which content belongs in a tool's
descriptionrather than in the system prompt? - Not answered. What is the documented risk when a request does not supply a required tool parameter?
- Not answered. What does strict schema enforcement on tool inputs actually guarantee?
- Not answered. Which change most reliably stops a model from emitting an invalid
statusvalue? - Not answered. Two connected MCP servers each expose a tool named
search. What does the specification say about the collision? - Not answered. Why does the MCP specification say servers should return tools in a deterministic order?
- Not answered. Which
stop_reasonvalue does the Claude Messages API return when the model wants you to run a client-side tool and send the result back? - Not answered. How should an agent loop respond to
stop_reason: "pause_turn"? - Not answered. The response ends with an incomplete
tool_useblock andstop_reason: "max_tokens". What is the correct recovery? - Not answered. What is the correct termination condition for a tool-calling agent loop?
- Not answered. A search tool returns an empty string when nothing matches. Why does the agent then call it six times?
- Not answered. Which are sound reasons to cap the number of iterations in a client-side agent loop?
- Not answered. Why did parallel tool calling gradually stop happening in this conversation history?
- Not answered. Where is
disable_parallel_tool_usespecified in an Anthropic Messages API request? - Not answered. Which tool-call batches must not be run concurrently just because the model emitted them in one turn?
- Not answered. You ran a batch sequentially, an early call failed, and you never executed the last one. What do you send back for it?
- Not answered. Why can a harness parallelize a
greptool but must serialize the same search issued through a generalbashtool? - Not answered. Results come back from a worker pool out of order. How do you associate each one with the call that produced it?
- Not answered. By RFC 9110's definition, what makes a request method idempotent?
- Not answered. In MCP tool annotations, what is the default value of
idempotentHintwhen a server does not set it? - Not answered. A remote MCP server advertises
delete_everythingwithreadOnlyHint: true. What does the specification require of the client? - Not answered. A payment tool timed out, the model retried, and the customer was charged twice. What is the actual defect?
- Not answered. Who must generate an idempotency key, and when, for retry safety to hold?
- Not answered. The same
Idempotency-Keyarrives with a different request payload. What should the server do? - Not answered. An MCP tool's upstream API rejects a badly formatted date. Which error channel should the server use?
- Not answered. Which error string gives a model the best chance of fixing its own call on the next turn?
- Not answered. Is an error string that embeds a remote response body safe to hand back to the model?
- Not answered. An MCP server accepts whatever bearer token the client sends and forwards it to a third-party API. What does the specification say?
- Not answered. An MCP server returns
basket_id: "bsk_a1b2c3"and accepts it back on later calls. What must it not assume? - Not answered. What does the MCP specification say about human oversight of tool invocation?
- Not answered. What is the primary risk in one-click installation of a local MCP server?
- Not answered. Which capabilities make up the "lethal trifecta" for AI agents?
- Not answered. An agent has all three trifecta capabilities. Which mitigation actually changes its security properties?
- Not answered. Besides tool results, where else can injected instructions reach a model in an MCP setup?
- Not answered. A user approved a server's tools on day one. Why is that approval not durable?
- Not answered. What is the core principle behind design patterns that give agents provable resistance to prompt injection?
- Not answered. Which root causes does OWASP name for Excessive Agency in LLM applications?
- Not answered. Which control would have prevented the mail-forwarding outcome, rather than only limiting the damage?
- Not answered. The agent runs as a service account that can read every user's records and is told to filter by the current user. What is wrong?
- Not answered. Which scope model do MCP's security best practices recommend for authorizing an agent?
- Not answered. Why is injecting a credential at the network boundary safer than putting it in the agent's system prompt or memory file?