# Rollback

Put the previous release back.

### Syntax

```
$ vela rollback
```

```
$ vela rollback --to 20260827T120000Z-3f2a
```

Releases are kept on the server, so rolling back is a matter of pointing the services at an earlier one and restarting — the artifact is not rebuilt or re-uploaded. How many are retained is controlled by `--keep` on [deploy](/deploy).

### Options

- `-t, --target <target>` - Which copy of the app to act on, defaults to `production`
- `--server <ssh>` - Server this target runs on, recorded on first use
- `--to <release>` - Roll back to a specific release instead of the previous one
- `--lock-wait <seconds>` - How long to wait for a deploy or restore of the same target to finish before giving up, defaults to `300`
- `-i, --identity <file>` - SSH private key to authenticate with
- `--ssh-port <port>` - SSH port
- `--accept-host-keys` - Trust an unknown host key on first connect (CI)

### Migrations

Migrations the newer release added are reverted with their down steps, run from that release's own migration files, before the older code starts. A migration without a working [down step](/migrate/down) stops the rollback with the app still stopped, so write one for every change.

A deploy that fails its health check rolls itself back automatically, migrations included — this command is for the deploys that succeed and turn out to be wrong.