A tool result is what your API returned. The model does not grant access. A `200` with a subject is not an allow list for the next tool.

## After the subject is known

| Check | Where |
| --- | --- |
| Bearer accepted | The hook on [Pydantic AI](/docs/agent-frameworks/pydantic-ai) |
| Allowed tools | Trust-store row, when your process enforces it |
| The action itself | [Authorization](/docs/concepts/authorization) using the subject |

Revoke in [Agents](/docs/console/agents) stops new tokens when the subject is the OIDC client id. Tokens already issued last until `expires_in` unless a later check rejects them.

When the token is an [RFC 8693 delegation](/guides/agent-delegation), the person stays the subject and the agent stays the actor. Authorizing the agent as the user skips the delegation.

## Related

| Read | To learn how to |
| --- | --- |
| [Custom channel auth for Pydantic AI](/docs/ai/pydantic-ai/channel-auth) | Admit the caller |
| [Enriching instructions for Pydantic AI](/docs/ai/pydantic-ai/enriching-instructions) | What the model is allowed to see |
| [Authorization](/docs/concepts/authorization) | Pick the check after the subject |
