# `ClaudeAgentSDK.Auth.Provider`
[🔗](https://github.com/nshkrdotcom/claude_agent_sdk/blob/v0.16.0/lib/claude_agent_sdk/auth/provider.ex#L1)

Multi-provider authentication abstraction.

Supports:
- Anthropic (via `claude setup-token`)
- AWS Bedrock (via AWS credentials)
- GCP Vertex AI (via GCP credentials)

# `provider`

```elixir
@type provider() :: :anthropic | :bedrock | :vertex
```

# `setup_token`

```elixir
@spec setup_token(provider()) ::
  {:ok, String.t(), DateTime.t() | nil} | {:error, term()}
```

Sets up authentication token for the specified provider.

Returns `{:ok, token, expiry}` or `{:error, reason}`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
