Design Tools for Agents, Not Humans

Agent tools should be structured for machine parsing — unambiguous outputs, complete information in every response, no UI affordances that only make sense for humans.

What it is

Tools built for human use are optimized for legibility: they paginate, they truncate long output with "..." ellipsis, they format for terminal width, they return user-friendly error messages that assume the caller can ask a follow-up question. When agents use these same tools, each of those human affordances becomes a failure mode. Truncated output means the agent acts on an incomplete picture. Pagination means the agent must know to fetch the next page — and may not realize it didn't see the whole thing. User-friendly error messages are ambiguous strings that must be parsed to extract the actual failure code. "Design tools for agents, not humans" means rethinking the contract at the level of what a machine needs: complete, structured, deterministic outputs. An agent tool should return all relevant data in a single call unless the data is genuinely too large. Error cases should be expressed as structured fields — a code, a reason, a recoverable flag — not as prose. Success cases should include the metadata the agent needs to decide what to do next, not just the primary payload. The caller is not a human who can glance at the output and intuit the context; it is a model with a fixed context window that will treat whatever it receives as complete truth.

When to reach for it

When NOT to

Exemplars

Related