# `ClaudeAgentSDK.Auth.TokenStore`
[🔗](https://github.com/nshkrdotcom/claude_agent_sdk/blob/v0.15.0/lib/claude_agent_sdk/auth/token_store.ex#L1)

Persistent token storage for authentication.

Supports multiple storage backends:
- File-based (default): ~/.claude_sdk/token.json
- Application environment: :claude_agent_sdk, :auth_token
- Custom: User-provided module implementing this behavior

# `token_data`

```elixir
@type token_data() :: %{
  token: String.t(),
  expiry: DateTime.t() | nil,
  provider: atom()
}
```

# `clear`

```elixir
@callback clear() :: :ok
```

# `load`

```elixir
@callback load() :: {:ok, token_data()} | {:error, :not_found | term()}
```

# `save`

```elixir
@callback save(token_data()) :: :ok | {:error, term()}
```

# `clear`

```elixir
@spec clear() :: :ok
```

Clears stored token data.

# `load`

```elixir
@spec load() :: {:ok, token_data()} | {:error, :not_found | term()}
```

Loads token data from storage.

# `save`

```elixir
@spec save(token_data()) :: :ok | {:error, term()}
```

Saves token data to storage.

---

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