Tell the agent to call `whoami` and to return that subject. Do not tell it to invent one, and do not paste the bearer into the instructions.

## What the model can see

The model can see the subject the hook already verified, and a refusal when the hook stopped the call. It cannot see the access token or the client secret. A prompt that asks the model who the caller is ignores the hook. The hook already returned unauthorized when userinfo did not accept the bearer.

Do not copy the token into graph state, crew inputs that tasks render, callback state the model reads, or telemetry context.

## Related

| Read | To learn how to |
| --- | --- |
| [Authorizing tool calls for Pydantic AI](/docs/ai/pydantic-ai/authorize-tool-calls) | Refuse work after the subject is known |
| [Custom channel auth for Pydantic AI](/docs/ai/pydantic-ai/channel-auth) | Keep the bearer on the hook |
| [Pydantic AI](/docs/agent-frameworks/pydantic-ai) | See the planned sample |
| [API keys and M2M for Pydantic AI](/docs/ai/pydantic-ai/api-keys-and-m2m) | Keep the secret on the caller |
