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

# murmur timeline

> Print an agent's lifecycle timeline (phases, children, commits, pushes, follow-ups), or follow it live.

Prints an [agent's](/concepts/agents) timeline: one line per lifecycle entry, such as a phase change, a child event, a commit, a push, or a follow-up. With `--follow`, the command keeps streaming new entries until you press Ctrl-C.

## Synopsis

```bash theme={null}
murmur timeline [flags] [slug]
```

On a VM, the slug is optional. If you omit it, the command reads the current agent's timeline.

## Arguments

| Name | Type | Required | Description |
| - | - | - | - |
| `slug` | string | on laptop | The agent's slug, a child path, or an absolute path. Optional on VMs (defaults to self). |
| `--follow`, `-f` | bool | no | Stream entries live until interrupted. Default: `false`. |
| `--types` | string | no | Comma-separated body types to include. Empty includes every type. See [types](#types). |
| `--scope` | string | no | Which executions of the slug to read: `current` or `all`. See [scope](#scope). |
| `--workspace` | string | no | Workspace name. Overrides the value from `murmur.yaml`. |

Requires `agent.read` on the agent.

### Types

`--types` accepts these names: `phase`, `child`, `taskComplete`, `commit`, `push`, `checks`, `prOpened`, `costUpdate`, `upload`, `followUp`, `repositoryStatus`, `attachmentsReady`. An unknown name, or an empty entry from a doubled or trailing comma, rejects the whole filter.

### Scope

A slug can be reused across executions (for example with `murmur spawn --force-new`). `current` reads only entries from the current execution. `all` reads every execution. When `--scope` is omitted, the server picks: an agent last spawned with `--force-new` defaults to `current`, any other agent defaults to `all`.

## Output

Each entry prints as one line:

```
  HH:MM:SS [label] detail
```

The time is the entry's timestamp. The label and detail depend on the entry:

| Label | Detail |
| - | - |
| `phase` | The phase in lowercase words (for example `task complete`), followed by the turn summary or interruption note. |
| `child` | The child event and the child's slug, plus an error when there is one. |
| `task` | `complete`, or `error: <message>`. |
| `commit` | The commit SHA and subject. |
| `push` | `<branch> (<N> commits)`. |
| `repository-status` | The repository, branch, local HEAD, and staged, modified, untracked, and conflicted file counts. |
| `upload` | The filename, content type, and URL. |
| `follow-up` | The follow-up state (`queued` when not yet delivered) and the event type that produced it, such as `pr_comment` or `ci_result`. |
| `event` | Any other entry type. No detail. |

## Examples

### Print an agent's timeline

```bash theme={null}
murmur timeline fix-auth
```

```
  14:02:11 [phase] running
  14:09:45 [commit] a1b2c3d Fix JWT expiry validation
  14:09:52 [push] murmur/fix-auth (1 commits)
  14:10:03 [phase] task complete Fixed the auth middleware to validate JWT expiry.
  14:10:03 [task] complete
  14:21:40 [follow-up] delivered ci_result
```

### Only commits and pushes

```bash theme={null}
murmur timeline fix-auth --types commit,push
```

### Follow the timeline live

```bash theme={null}
murmur timeline -f fix-auth
```

### Every execution of a reused slug

```bash theme={null}
murmur timeline fix-auth --scope all
```

## Errors

| Code | Meaning | What to do |
| - | - | - |
| none | `unknown type "<name>"` | Use one of the names listed in [types](#types). |
| none | `unknown scope "<value>" (want "current" or "all")` | Pass `current` or `all`, or omit `--scope`. |
| `NOT_FOUND` | No agent with that slug exists. | Check the slug with [`murmur ls`](/cli/ls). |
| `PERMISSION_DENIED` | You lack `agent.read` on the agent. | Ask for a role that grants `agent.read`. See [authorization](/security/authorization). |
| `UNAUTHENTICATED` | Identity token is missing or expired. | Run [`murmur login`](/cli/login). |

## Related

* [`murmur turns`](/cli/turns): list an agent's folded turns
* [`murmur watch`](/cli/watch): stream an agent's mailbox events
* [`murmur session watch`](/cli/session-watch): stream an agent's session output
* [`murmur status`](/cli/status): check an agent's current status
