Migrate from Classic without connectors

Follow this path if your project ingests data through the Events API, direct HTTP requests, or any other method that doesn't rely on a managed connector. This is the fastest path to Forward and can be run entirely from the CLI.

If your project uses S3, GCS, Kafka, DynamoDB, or other managed connectors, follow Migrate with connectors instead.

Prerequisites

Install uv to run the one required Classic CLI command via uvx without installing tinybird-cli globally. This avoids the version conflicts that can occur when both CLIs are installed globally (they both use the tb command).

Uninstall the Classic CLI

If you have the Tinybird Classic CLI installed globally, uninstall it before installing Forward. Both CLIs use the tb command, so having both installed causes version conflicts:

pip uninstall tinybird-cli

If you installed the Classic CLI inside a virtual environment, activate it first or run pip uninstall against the right interpreter (for example, python3 -m pip uninstall tinybird-cli).

Install the Tinybird Forward CLI

Run the following command to install the Tinybird Forward CLI:

curl https://tinybird.co | sh

After installing, run tb --version to confirm tb resolves to the Forward CLI. See Tinybird Local for more information.

Migrate your workspace

1

Authenticate to your workspace

Log in to your workspace with the Classic CLI. This creates a .tinyb file in the current directory if one doesn't already exist:

uvx --from tinybird-cli@latest tb auth --host <HOST>
# Example: uvx --from tinybird-cli@latest tb auth --host https://api.europe-west2.gcp.tinybird.co

Replace <HOST> with your workspace's API region host. The CLI then prompts you for your workspace admin token.

2

Pull your project

Download your datafiles from Tinybird Cloud with the Forward CLI:

tb --cloud pull

This command overwrites files in your local repo. Because the pull structures directories following Tinybird's guidelines, remove any existing data source and pipe files from your local repo before running it. You can reorganize the resulting files afterwards if you prefer a different layout.

3

Migrate to Forward

Run the migration command:

tb migrate-to-forward

This command deletes branches and releases, runs a deploy check, generates a tinybird.config.json file, switches the workspace to Forward, and deploys it.

If you have CI/CD configured, push the changes to your repository to complete the migration. See CI/CD for details on the CI workflow, CD workflow, and creating preview deployments.

If you don't have CI/CD configured, the migration is complete after this step.

The migration is complete! Your project will continue working as expected; you do not need to change your tokens, endpoint URLs, or anything else.

Next steps

Updated