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

# Themes

> View, create, and update email themes.

The `themes` command lets you view, create, and update [themes](/docs/creating-emails/styles) saved in your Loops account.

## `create`

Create a new theme. Pass theme styles as a JSON file with `--styles-file`.

```json styles.json theme={"dark"}
{
  "backgroundColor": "#ffffff",
  "bodyColor": "#f5f5f5",
  "textBaseColor": "#1a1a1a",
  "textLinkColor": "#2563eb",
  "buttonBodyColor": "#2563eb",
  "buttonTextColor": "#ffffff",
  "borderRadius": 8
}
```

```bash theme={"dark"}
loops themes create --name "Newsletter" --styles-file ./styles.json
```

### Flags

| Flag            | Short | Description                                              |
| --------------- | ----- | -------------------------------------------------------- |
| `--name`        | `-n`  | Theme name <Badge color="red" size="sm">Required</Badge> |
| `--styles-file` |       | Path to a JSON file with theme styles                    |

## `get`

Get a theme by ID.

```bash theme={"dark"}
loops themes get clo1z5q7s004yl70y3z4a5b6c
```

## `list`

List themes.

```bash theme={"dark"}
loops themes list
```

Pass `--pick` to filter the list interactively with [fzf](https://github.com/junegunn/fzf) and copy the selected theme ID to your clipboard. Requires `fzf` to be installed and on your `PATH`.

```bash theme={"dark"}
loops themes list --pick
```

### Flags

| Flag         | Description                                                                                                   |
| ------------ | ------------------------------------------------------------------------------------------------------------- |
| `--pick`     | Interactively pick a theme and copy its ID to the clipboard. Requires [fzf](https://github.com/junegunn/fzf). |
| `--per-page` | Results per page (10–50, default 20)                                                                          |
| `--cursor`   | Pagination cursor for a specific page                                                                         |

## `update`

Update a theme.

```bash theme={"dark"}
loops themes update clo1z5q7s004yl70y3z4a5b6c --name "Newsletter (dark)" --styles-file ./styles.json
```

### Flags

| Flag            | Short | Description                           |
| --------------- | ----- | ------------------------------------- |
| `--name`        | `-n`  | Theme name                            |
| `--styles-file` |       | Path to a JSON file with theme styles |


## Related topics

- [API Introduction](/docs/api-reference/intro.md)
- [Styling emails](/docs/creating-emails/styles.md)
- [Update a theme](/docs/api-reference/update-theme.md)
- [Get a theme](/docs/api-reference/get-theme.md)
- [Create a theme](/docs/api-reference/create-theme.md)
