ClaudeAgentSDK.Auth.TokenStore behaviour (claude_agent_sdk v0.18.0)

Copy Markdown View Source

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

Summary

Functions

Clears stored token data.

Loads token data from storage.

Saves token data to storage.

Types

token_data()

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

Callbacks

clear()

@callback clear() :: :ok

load()

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

save(token_data)

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

Functions

clear(opts \\ [])

@spec clear(keyword()) :: :ok

Clears stored token data.

load(opts \\ [])

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

Loads token data from storage.

save(data, opts \\ [])

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

Saves token data to storage.