# Transcript
The transcript is the complete, timestamped record of everything that happened during an agent session. Every message the agent sent or received, every tool it called, every shell command it ran, and every provider lifecycle event — all in chronological order.

This is the first place to look when you need to understand what an agent did, why it made a specific decision, or where it went wrong.

{{< thumbcard src="/images/ui/agent-sessions/session-transcript.png" alt="Session transcript showing timestamped events — messages, tool calls with arguments and results, and commands" caption="Full session transcript — every event timestamped and categorized with expandable details" >}}

## Event types

Each transcript entry is timestamped and labeled by type. The event number (e.g., `#12`) shows its position in the sequence.

### SYSTEM_PROMPT

The initial system prompt sent to the agent at session start. This is typically large (hundreds of lines), so it's collapsed by default with a **TOGGLE FULL TEXT** disclosure. Expand it to see the full instructions the agent received — including its identity, capabilities, and behavioral constraints.

### MESSAGE (USER)

Messages sent to the agent. This includes:
- The initial task prompt that launched the session.
- Follow-up instructions from a user or orchestrator.
- Input sent via the **Reply to agent** field.

### MESSAGE (AGENT)

The agent's text responses. Long responses are collapsed with a line count indicator (e.g., "TOGGLE FULL TEXT (15 LINES)"). Each message has a **Copy** button to grab the text.

### TOOL CALL

MCP tool invocations are the richest event type. Each tool call shows:

| Field | What it shows |
|-------|---------------|
| **Tool name** | The MCP tool invoked (e.g., `mcp__valdr__pm_sprint`). |
| **Server** | The MCP server that handled the call (e.g., `valdr`). |
| **Item** | The tool use ID for correlation. |
| **Status** | Whether the call completed, failed, or timed out. |
| **Resp bytes** | Response payload size. |
| **Tokens** | Token count for the response. |

Two expandable sections provide the full details:
- **ARGUMENTS** — the JSON payload sent to the tool. Expanded by default so you can see what the agent asked for.
- **RESULT** — the response returned by the tool. Collapsed by default, with a dedicated **Copy result** button.

### COMMAND

Shell commands executed by the agent. Each entry shows:
- The command as run (e.g., `$ ToolSearch`).
- The output or response.
- Exit status (`completed`, `failed`, or exit code).

### PROVIDER

Provider lifecycle events track the model interaction boundaries:
- **Provider Thread Started** — a new conversation thread began.
- **Provider Turn Started** — the agent started a new reasoning turn.
- **Provider Turn Completed** — the agent finished its turn.

These events are useful for understanding the turn structure — how many reasoning cycles the agent needed and how long each took.

## Transcript controls

### Search

Click the search icon or use the search bar to find text anywhere in the transcript. Match navigation buttons (Previous/Next) let you jump between results. The counter shows `current / total` matches.

Search is invaluable for:
- Finding error messages across a long session.
- Locating where the agent touched a specific file.
- Finding tool calls to a particular MCP server.

### Filters

Click **Transcript filters** to show/hide specific event types. This is the fastest way to cut through a 400+ event transcript:

- Show only **TOOL CALL** events to trace MCP interactions.
- Show only **COMMAND** events to see what shell commands ran.
- Show only **MESSAGE** events to read the conversation without the noise.

### Copy transcript

The **Copy Transcript** button grabs the full transcript text for pasting into reviews, reports, or debugging sessions.

### Reply to agent

The **REPLY TO AGENT** field at the top lets you send a message to a running or idle session. This is how you:
- Provide clarification when an agent is stuck.
- Send follow-up instructions after reviewing the transcript.
- Inject guidance mid-session without restarting.

## Reading transcripts effectively

**Start from the bottom.** The most recent events are at the top, but the session began at the bottom. Scroll down to see the initial prompt and first actions, then work upward.

**Follow the tool call chain.** Tool calls show arguments and results. If a tool call returned an error, the agent's next message will typically explain what it did in response. Follow this chain to understand the agent's decision-making.

**Check command exit status.** Failed commands (`exit: failed`) often explain why a session went sideways. Filter to just commands and scan for failures.

**Use the event numbers.** Each event has a sequence number. When discussing a session in reviews, reference events by number (e.g., "the file edit at event #65") for precision.

## Next steps

- Check [Metadata](../metadata/) for aggregate stats and the activity timeline.
- Open [Worktree Diff](../diff/) to see the code changes that resulted from this transcript.
- Use [Terminal](../terminal/) to investigate issues directly in the agent's worktree.

