# `ClaudeAgentSDK.SessionStore.Helpers`
[🔗](https://github.com/nshkrdotcom/claude_agent_sdk/blob/v0.21.0/lib/claude_agent_sdk/session_store/helpers.ex#L1)

Session helper APIs backed by a SessionStore adapter.

# `delete_session_via_store`

```elixir
@spec delete_session_via_store(String.t(), term(), keyword()) ::
  :ok | {:error, term()}
```

# `fork_session_via_store`

```elixir
@spec fork_session_via_store(String.t(), term(), keyword()) ::
  ClaudeAgentSDK.Session.ForkResult.t() | {:error, term()}
```

# `get_session_info_from_store`

```elixir
@spec get_session_info_from_store(String.t(), term(), keyword()) ::
  ClaudeAgentSDK.Session.SessionInfo.t() | nil
```

# `get_session_messages_from_store`

```elixir
@spec get_session_messages_from_store(String.t(), term(), keyword()) :: [
  ClaudeAgentSDK.Session.SessionMessage.t()
]
```

# `get_subagent_messages_from_store`

```elixir
@spec get_subagent_messages_from_store(String.t(), String.t(), term(), keyword()) :: [
  ClaudeAgentSDK.Session.SessionMessage.t()
]
```

# `list_sessions_from_store`

```elixir
@spec list_sessions_from_store(term(), keyword()) :: [
  ClaudeAgentSDK.Session.SessionInfo.t()
]
```

# `list_subagents_from_store`

```elixir
@spec list_subagents_from_store(String.t(), term(), keyword()) :: [String.t()]
```

# `rename_session_via_store`

```elixir
@spec rename_session_via_store(String.t(), String.t(), term(), keyword()) ::
  :ok | {:error, term()}
```

# `tag_session_via_store`

```elixir
@spec tag_session_via_store(String.t(), String.t() | nil, term(), keyword()) ::
  :ok | {:error, term()}
```

---

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