> ## Documentation Index
> Fetch the complete documentation index at: https://to11.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sessions

> What a session is, how a Claude Code transcript reaches your project, what the Sessions page shows, and who can read it.

A **session** is one run of a coding agent, recorded as its transcript: every prompt you typed, every response, every tool call and its result, and the tokens each response used. Claude Code writes that transcript to your machine as it works. The to11 CLI uploads it to a [project](https://to11.ai/docs/platform/projects.md), and the project's **Sessions** page shows it to everyone on the team who can read sessions.

Sessions are where the rest of to11 meets the work. A skill your team published shows up in the sessions that used it, and a session that went wrong can be read in full by someone who was not at the keyboard.

## How a session reaches your project

Nothing is uploaded until someone on the machine asks for it. There are two ways:

* **By hand.** `to11 session sync`, run inside a repository, sends the Claude Code sessions started in that repository, including its subdirectories and worktrees.
* **Automatically.** With auto-sync turned on, the [to11 plugin](https://github.com/to11ai/to11-code-plugin) for Claude Code sends the session after each response and when the session ends. `to11 session autosync on` turns it on for one repository, and `--global` for every repository.

Either way, the CLI sends only the lines added since the last upload, and the subagents' transcripts with the session that launched them. Before anything leaves your machine, the CLI masks secrets it recognizes, such as API keys and tokens, keeping only a prefix that says what kind of secret it was (`sk-ant-api03-[REDACTED]`). The API applies the same rules again when it receives the transcript.

The project a session goes to is set per developer, not per team: `.to11/sessions.yaml` in the repository or `~/.to11/sessions.yaml` in your home, which [`to11 link`](https://to11.ai/docs/reference/cli/commands#to11-link) writes when it links a location. The repository's file stays out of git, so each developer decides where their own sessions go. [Syncing sessions](https://to11.ai/docs/sessions/syncing-sessions.md) has the steps.

Only Claude Code transcripts are uploaded today.

## The Sessions page

The **Sessions** page is the project's landing page in the dashboard, under **Observe** in the sidebar. Each row is one session:

| Column | Shows |
| - | - |
| Session | The agent's mark and the session's title, taken from the transcript |
| Owner | The person who uploaded it |
| Pull requests | Pull requests the transcript recorded, as `owner/repository#number` |
| Skills | The project's skills the session used |
| Duration | How long the session was active |
| Cost | The estimated cost at Anthropic API prices; see [The cost estimate](#the-cost-estimate) |
| Started, Last activity | When the session began and when it last changed |

A line above the list totals the sessions and their estimated cost for the current filters. The filters narrow the list by time range (**Active**), **Agent**, **Owner**, **Repository**, whether the session recorded a pull request (**Has PR**), **Skill**, and **Mine**; the search box matches titles and pull-request numbers; and the list sorts by start time, last activity, or duration. The filters are kept in the page's URL, so a filtered list can be shared as a link.

Opening a session shows it as a thread: your prompts, the agent's responses, its tool calls with their results, and subagents nested under the call that started them. The header counts active time, prompts, skill uses, failed tool calls, compactions, and tokens in and out. **Search this session** finds text in the thread, and the **Display** menu groups intermediate responses and tool calls, or shows the context and events the agent received.

### Linking to a session

A session has a stable address built from the project's ID and the agent's own session ID:

```text theme={null}
https://app.to11.ai/p/<project-id>/sessions/<session-id>
```

It contains no organization, workspace, or project names, so it keeps working when they are renamed. The page shows "Session not found" until the transcript has been synced. Anyone who opens it must be signed in and able to read the project's sessions.

## The cost estimate

Most Claude Code sessions run on a subscription, so there is no per-token bill to show. What the Sessions page shows instead is an **estimate**: what the session's tokens would cost through the Anthropic API, at Anthropic's API rates. A model with no rate of its own is priced as the newest model of its family. A session whose models have no rate at all shows **No API price**, and a session with no token usage shows **No usage**.

On a session's page, the **Usage** menu switches the figures between raw **Tokens**, **Anthropic API** rates, **Anthropic Batch** rates, and the **Cost estimate**.

## Who can read sessions

Reading a project's sessions needs the `sessions:read` permission on the project, which the developer, admin, and owner roles hold at every level. Uploading a session needs `ingest:write`, held by the same roles. An API key can carry either scope. See [Roles & permissions](https://to11.ai/docs/platform/roles-and-permissions.md#session-access).

## Next steps

> [card] [Syncing sessions](https://to11.ai/docs/sessions/syncing-sessions.md)
>
> Send sessions by hand or after every response, and choose the project.

> [card] [to11 session sync](https://to11.ai/docs/reference/cli/commands.md#to11-session-sync)
>
> Every flag of the sync command.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.