# Bolt CLI

{% hint style="info" %}

* This feature is available with the [**Paradime Bolt plan**](https://www.paradime.io/pricing)**.**
* Your API keys ***must*** have either Bolt Schedules Admin or Bolt Schedules Metadata Viewer capabilities.
  {% endhint %}

### Trigger a Bolt Run

Using the Paradime CLI, you can trigger a run for a given Bolt schedule name.

#### CLI command

```bash
paradime bolt run "<schedule_name>"
```

#### Options

| Flag          | Type               | Description                                                                                 |
| ------------- | ------------------ | ------------------------------------------------------------------------------------------- |
| `--branch`    | *`Optional, TEXT`* | Git branch name or commit hash to checkout.                                                 |
| `--command`   | *`Optional, TEXT`* | Command(s) to override the default commands.                                                |
| `--pr-number` | *`Optional, INT`*  | Pull request number to associate with the run.                                              |
| `--wait`      |                    | Wait for the run to finish, **streaming stdout/stderr from each command live** as they run. |
| `--json`      |                    | JSON formatted response (suppresses live log output).                                       |
| `--help`      |                    | Show CLI command options and exit.                                                          |

#### Examples

{% tabs %}
{% tab title="Trigger Bolt schedule run and stream live logs" %}
{% hint style="info" %}
Trigger a Bolt schedule run, then **stream stdout and stderr live** for each command as it runs and exit with the final run status. Useful for CI pipelines or local debugging where you want to see exactly what's happening as it happens.
{% endhint %}

**CLI command**

```bash
paradime bolt run "daily run" --wait
```

**Example output**
{% endtab %}

{% tab title="Trigger Bolt schedule run with command override" %}
{% hint style="info" %}
Trigger a Bolt schedule run, and override the schedule commands at runtime.
{% endhint %}

**CLI command**

```bash
paradime bolt run "daily run" --command "dbt run -s order_items", "dbt test"  --wait
```

**Example output**
{% endtab %}

{% tab title="Trigger Bolt schedule run with git branch override" %}
{% hint style="info" %}
Trigger a Bolt schedule run, and override the git branch at runtime.
{% endhint %}

**CLI command**

```bash
paradime bolt run "daily run" --branch "feature-branch-123" --wait
```

**Example output**
{% endtab %}
{% endtabs %}

### Retry the latest failed run of a schedule

Using the Paradime CLI, you can retry the **latest failed run** of a Bolt schedule by name, without needing to know the run ID. The retry resumes from the failed command of the most recent run of the schedule. Infrastructure commands (`git clone`, `dbt deps`) are always excluded — they run automatically on every Bolt run.

A new Bolt run is created and its run ID is printed. The original failed run is unchanged.

#### CLI command

```bash
paradime bolt schedule retry "<schedule_name>"
```

#### Options

| Flag     | Type | Description                                                                                                                         |
| -------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `--wait` |      | Wait for the retry run to finish, **streaming stdout/stderr from each command live**. Exits non-zero if the retry does not succeed. |
| `--json` |      | JSON formatted response.                                                                                                            |
| `--help` |      | Show CLI command options and exit.                                                                                                  |

#### Examples

{% tabs %}
{% tab title="Retry latest failed run and wait for status" %}
{% hint style="info" %}
Retry the latest failed run of a Bolt schedule by name, and block until the new run reaches a terminal state.
{% endhint %}

**CLI command**

```bash
paradime bolt schedule retry "daily run" --wait
```

{% endtab %}

{% tab title="Retry as JSON (CI-friendly)" %}
{% hint style="info" %}
Retry the latest failed run of a Bolt schedule and return the new run ID as JSON, useful when chaining the CLI in CI pipelines.
{% endhint %}

**CLI command**

```bash
paradime bolt schedule retry "daily run" --json
```

{% endtab %}
{% endtabs %}

### Retry a Bolt Run

Using the Paradime CLI, you can retry a failed Bolt run by passing its run ID. By default only the failed commands are re-run (using `dbt retry` when supported); pass `--all` to re-run every original command. Infrastructure commands (`git clone`, `dbt deps`) are always excluded — they run automatically on every Bolt run.

A new Bolt run is created and its run ID is printed. The original run is unchanged.

#### CLI command

```bash
paradime bolt retry <run_id>
```

#### Options

| Flag     | Type | Description                                                                                                                         |
| -------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `--all`  |      | Retry ALL commands from the original run (default: failed commands only).                                                           |
| `--wait` |      | Wait for the retry run to finish, **streaming stdout/stderr from each command live**. Exits non-zero if the retry does not succeed. |
| `--json` |      | JSON formatted response.                                                                                                            |
| `--help` |      | Show CLI command options and exit.                                                                                                  |

#### Examples

{% tabs %}
{% tab title="Retry failed commands and wait for status" %}
{% hint style="info" %}
Retry only the failed commands from a previous Bolt run, and block until the new run reaches a terminal state.
{% endhint %}

**CLI command**

```bash
paradime bolt retry 15509 --wait
```

{% endtab %}

{% tab title="Retry all commands" %}
{% hint style="info" %}
Re-run every original command verbatim from a previous Bolt run, regardless of which ones succeeded or failed.
{% endhint %}

**CLI command**

```bash
paradime bolt retry 15509 --all --wait
```

{% endtab %}

{% tab title="Retry as JSON (CI-friendly)" %}
{% hint style="info" %}
Retry a Bolt run and return the new run ID as JSON, useful when chaining the CLI in CI pipelines.
{% endhint %}

**CLI command**

```bash
paradime bolt retry 15509 --json
```

{% endtab %}
{% endtabs %}

### Download a Bolt Schedule artifacts

Using the Paradime CLI, you can download the latest artifacts of a given Bolt schedule name.

#### CLI command

```bash
paradime bolt artifact
```

#### Options

| Flag              | Type                  | Description                                                                                                             |
| ----------------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `--schedule-name` | *`Required, TEXT`*    | The name of the Bolt schedule                                                                                           |
| `--artifact-path` | *`Optional, TEXT`*    | The path to the artifact in the Bolt run. \[default: target/manifest.json]                                              |
| `--command-index` | *`Optional, INTEGER`* | The index of the command in the schedule. Defaults to searching through all commands from the last command to the first |
| `--output-path`   | *`Optional, TEXT`*    | The path to save the artifact. Defaults to the current directory.                                                       |
| `--help`          |                       | Show CLI command options and exit.                                                                                      |

#### Examples

{% tabs %}
{% tab title="Get Bolt schedule manifest.json" %}
{% hint style="info" %}
Get Bolt schedule `manifest.json` from the latest run.
{% endhint %}

**CLI command**

```
paradime bolt artifact --schedule-name "daily run"
```

{% endtab %}

{% tab title="Get Bolt schedule run\_results.json" %}
{% hint style="info" %}
Get Bolt schedule `run_results.json` from the latest run.
{% endhint %}

**CLI command**

```
paradime bolt artifact --schedule-name "daily run" --artifact-path target/run_results.json
```

**Example output**
{% endtab %}
{% endtabs %}

### Bolt Schedules Suspend

{% hint style="danger" %}
YAML schedules **cannot** be "suspended" via the CLI.
{% endhint %}

Using the Paradime CLI, you can programmatically suspend a Bolt Schedule. This will be marked as "Paused". Schedules in "Paused" state will not run.

#### CLI Command

```bash
paradime bolt schedule suspend "<schedule_name>"
```

#### Examples

{% tabs %}
{% tab title="Suspend a Bolt Schedule" %}
**CLI Command**

```bash
paradime bolt schedule suspend "daily run"
```

{% endtab %}
{% endtabs %}

### Bolt Schedules Unsuspend

{% hint style="danger" %}
YAML schedules **cannot** be "unsuspend" via the CLI.
{% endhint %}

Using the Paradime CLI, you can programmatically unsuspand a Bolt Schedule when in a "Paused" state. This is normally used in combination with the Bolt Schedules Suspend CLI command.

When a Bolt schedule is "Unsuspended", runs will resume.

#### CLI Command

```bash
paradime bolt schedule unsuspend "<schedule_name>"
```

#### Examples

{% tabs %}
{% tab title="Unsuspend a Bolt Schedule" %}
**CLI Command**

```bash
paradime bolt schedule unsuspend "daily run"
```

{% endtab %}
{% endtabs %}

#### CLI Command

```bash
paradime bolt schedule unsuspend "<schedule_name>"
```

### Verify paradime\_schedule.yml configuration file

Using the Paradime CLI, you can verify that your paradime\_schedules.yml configuration file containting the YAML configured Bolt schedules is correct and free of errors.

#### CLI Command

<pre class="language-bash"><code class="lang-bash"><strong>paradime bolt verify
</strong></code></pre>

#### Options

| Flag   | Type               | Description                                                               |
| ------ | ------------------ | ------------------------------------------------------------------------- |
| --path | *`Optional, TEXT`* | Path to paradime\_schedules.yml file. \[default: paradime\_schedules.yml] |
| --help |                    | Show CLI command options and exit.                                        |

#### Examples

{% tabs %}
{% tab title="Verify paradime\_schedules.yml file" %}
{% hint style="info" %}
Verify the paradime\_schedules.yml file with the Bolt schedules configurations does not contain errors.
{% endhint %}

**CLI Command**

```bash
paradime bolt verify --path /workspace/repository/dbt/paradime_schedules.yml
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paradime.io/app-help/developers/paradime-cli/bolt-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
