> For the complete documentation index, see [llms.txt](https://docs.sealights.io/knowledgebase/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sealights.io/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent/command-line-interface/set-up-the-agent/migrate-a-legacy-configuration.md).

# Migrate a legacy configuration

If you are upgrading the SeaLights ABAP Agent from v0.69 or earlier, your existing `config.toml` uses a legacy format. Starting from v0.70, the agent requires configuration version 2. Any command you run against a legacy config will fail with an error like:

```
[error] Config version 0 is not supported (minimum: 2). Run the `slabapcli setup migrate` command to migrate your config.
```

The migration automatically applies all necessary steps to bring the configuration to the current version (version 2).

Follow the steps below to migrate your configuration before continuing with the agent setup.

{% hint style="warning" %}
**Before you migrate:** Back up your `config\config.toml` file. The migration modifies the file in place and cannot be undone automatically.
{% endhint %}

## Run the migration

{% hint style="warning" %}
**End and disable all Sealights scheduled tasks** in the Windows Task Scheduler before running the migration. The migration will warn you to do this — make sure they are stopped before you confirm.
{% endhint %}

Run the following from your terminal:

{% tabs %}
{% tab title="Command Prompt" %}
{% code title="Command" overflow="wrap" %}

```batch
slabapcli.exe setup migrate
```

{% endcode %}
{% endtab %}

{% tab title="PowerShell" %}
{% code title="Command" overflow="wrap" %}

```powershell
.\slabapcli.exe setup migrate
```

{% endcode %}
{% endtab %}
{% endtabs %}

{% code title="Expected output (PowerShell)" overflow="wrap" lineNumbers="true" %}

```log
.\slabapcli.exe setup migrate
[2026-03-08 13:43:42.193+02:00] [info] Detected Windows version: Windows 11
[2026-03-08 13:43:42.195+02:00] [info] Config pathname: ../config/config.toml
[2026-03-08 13:43:42.205+02:00] [info] Config version 0 detected. Migration to version 2 is required.
[2026-03-08 13:43:42.205+02:00] [warning] Please make sure to End and then Disable all Sealights scheduled tasks in the Windows Task Scheduler.
Continue? [Y/n]
```

{% endcode %}

* Enter `Y` (or press **Enter**) to proceed with the migration.
* Enter `n` to cancel. The config file will not be changed.

When you confirm, the migration runs and writes the updated file:

{% code title="Expected output — continued (PowerShell)" overflow="wrap" lineNumbers="true" %}

```log
[info] Applying v0 -> v1 migration: setting version and populating pipeline appname fields
[info] Config successfully migrated to version 1.
[info] Applying v1 -> v2 migration: adding mandatory footprints typequeries
[info] Config successfully migrated to version 2.
[info] Config migrated and written to '../config/config.toml'
```

{% endcode %}

## What the migration does

The migration applies the following steps in sequence. If your config is already at an intermediate version, only the remaining steps are applied.

### v0 to v1

| Change              | Details                                                                                         |
| ------------------- | ----------------------------------------------------------------------------------------------- |
| Sets config version | Adds `version = 1` to the root of `config.toml`                                                 |
| Backfills `appname` | Populates the `appname` field for each existing pipeline, derived from the legacy pipeline name |
| Backfills `labid`   | Populates any missing `labid` fields                                                            |

### v1 to v2

| Change              | Details                                                                                     |
| ------------------- | ------------------------------------------------------------------------------------------- |
| Sets config version | Updates `version` to `2`                                                                    |
| Adds `typequeries`  | Adds an empty `typequeries = []` array to the `[footprints]` section if not already present |

## After migration

Once the migration completes successfully, re-enable your scheduled tasks in the Windows Task Scheduler and continue with the agent setup.

If you run `setup migrate` on a config that is already at the current version, the command exits safely with no changes:

```
[info] Config already at version 2.
```

{% hint style="info" %}
The installer also runs `slabapcli setup migrate` automatically during installation and upgrades. Manual migration is only needed if you are upgrading the agent binaries without using the installer.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.sealights.io/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent/command-line-interface/set-up-the-agent/migrate-a-legacy-configuration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
