> ## 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 session download

> Download an agent's session file for local resumption with Claude Code — optionally forcing the live agent to upload its current session first.

Downloads an [agent's](/concepts/agents) persisted Claude Code session file so you can resume the conversation locally with `claude --resume`. By default this downloads the session as last persisted — written when the agent's VM went to sleep, or on the periodic keep-alive backup. Pass `--fresh` to ask the running agent to upload a snapshot of its **current** session first, so the download is up to date even mid-run.

## Synopsis

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

On a VM, the slug is optional — omitting it downloads the current [agent's](/concepts/agents) own session.

## Arguments

| Name          | Type   | Required  | Description                                                                                                                                                                                                                                                 |
| ------------- | ------ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `slug`        | string | on laptop | The [agent's](/concepts/agents) slug. Optional on VMs (defaults to self).                                                                                                                                                                                   |
| `--fresh`     | bool   | no        | Ask the live agent to upload its current session before downloading. Requires `agent.edit` permission and a running workflow. When no run has happened since the last upload, the upload is skipped — repeated fresh downloads are cheap. Default: `false`. |
| `--output`    | string | no        | Output file path. Default: `./<slug>.session.jsonl`.                                                                                                                                                                                                        |
| `--workspace` | string | no        | [Workspace](/concepts/workspaces) name. Overrides the value from `murmur.yaml`.                                                                                                                                                                             |

## Examples

### Download the last-persisted session

```bash theme={null}
murmur session download fix-auth
```

```
Downloading session for fix-auth...
Session saved to fix-auth.session.jsonl

To resume locally:
  claude --resume fix-auth.session.jsonl
```

### Download a fresh snapshot from a running agent

```bash theme={null}
murmur session download --fresh fix-auth
```

```
Requesting fresh session upload from fix-auth...
Fresh session uploaded.
Downloading session for fix-auth...
Session saved to fix-auth.session.jsonl
```

## Errors

| Code                                   | Meaning                                                                             | What to do                                                                   |
| -------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `NOT_FOUND`                            | No [agent](/concepts/agents) with that slug exists, or it has no persisted session. | Check the slug. Use [`murmur ls`](/cli/ls) to list agents.                   |
| `NOT_FOUND` (with `--fresh`)           | The agent's workflow is not running.                                                | Drop `--fresh` to download the last persisted session of a terminated agent. |
| `FAILED_PRECONDITION` (with `--fresh`) | The agent is sleeping and its sleep-time session persist failed.                    | Wake the agent (e.g. [`murmur queue add`](/cli/queue-add)) and retry.        |
| `UNAUTHENTICATED`                      | Identity token is missing or expired.                                               | Run `murmur auth` or check your `murmur.local.yaml` configuration.           |

## Related

* [Agents](/concepts/agents) — concept overview
* [`murmur session watch`](/cli/session-watch) — stream live session events
* [`murmur session send`](/cli/session-send) — send a follow-up message to the agent
* [`murmur spawn --resurrect`](/cli/spawn) — resume a dead agent in the cloud with its session
