Skip to content

agent.tool_not_allowed

This tool is not available in the current mode. Switch the assistant to a mode that covers this action, or do it yourself in the app.

Not an AccessDeniedError. Three triggers:

  • Agent loop: the model asked for a tool name outside the catalog built for this run (a hallucinated name, or a handler the run doesn’t expose); the loop records an error turn.
  • Rule validation: an UnprocessableError when the handler of a new permission rule is missing from the caller’s role-filtered manifest.
  • An UnprocessableError when ai-agent-edit is not mounted.

The catalog is derived from the mounted registry (buildToolCatalog), so a handler without a description never becomes a tool at all. Describe the handler, or widen the agent mode, if the call was meant to work.