# uip solution download

> Syntax and options for `uip solution download`, which downloads and extracts a Studio Web solution.

`uip solution download` downloads (exports) a solution from Studio Web as a `.uis` archive. Pass `--extract` to also unpack it into a directory.

## Synopsis

```
uip solution download <solution-id> [-d <destination>] [-n <name>] [--extract]
```

## Arguments

| Name | Required | Purpose |
|---|---|---|
| `<solution-id>` | yes | Studio Web solution UUID. Find it with `uip solution list`. |

## Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| `-d` | `--destination` | dir | current dir | Destination directory for the downloaded file. |
| `-n` | `--name` | text | the solution ID | Output filename, without extension. Existing files are overwritten; `--extract` uses this name for the extracted directory too. Must be a plain filename — no path separators or `..`. |
| — | `--extract` | flag | off | Extract the downloaded `.uis` archive into a directory, and write `AGENTS.md` / `CLAUDE.md` briefing files there if the archive didn't already carry them. |

## Examples

```bash
uip solution download a1b2c3d4-0000-0000-0000-000000000001 \
  --destination ./downloads --extract
```

## Data shape (--output json)

```json
{
  "Code": "SolutionDownload",
  "Data": {
    "Status": "Solution exported successfully",
    "SolutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Output": "./downloads/a1b2c3d4-0000-0000-0000-000000000001.uis",
    "ExtractedTo": "./downloads/a1b2c3d4-0000-0000-0000-000000000001",
    "BriefingFiles": [
      "./downloads/a1b2c3d4-0000-0000-0000-000000000001/AGENTS.md",
      "./downloads/a1b2c3d4-0000-0000-0000-000000000001/CLAUDE.md"
    ]
  }
}
```

`ExtractedTo` and `BriefingFiles` are only present when `--extract` is passed. `BriefingFiles` lists only the files this command wrote — if the archive already had `AGENTS.md`/`CLAUDE.md`, the field is omitted.

## Exit codes

See [Exit codes](./exit-codes.md) for the shared contract.

## Related commands

- [`uip solution list`](./uip-solution-list.md) — find a solution's ID.
- [`uip solution delete`](./uip-solution-delete.md) — delete a Studio Web solution by ID.

## See also

- [Global options](./global-options.md) and [Exit codes](./exit-codes.md) — contracts shared by every verb.
