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 isolated versions of the Classic and Forward CLIs side-by-side via uvx. The migration steps below use uvx for the one Classic command to avoid the version conflicts that can occur when both CLIs are installed globally (they both use the tb command).
  • Install the Tinybird Forward CLI. If you already have the Classic CLI installed globally, run tb --version after installing Forward to confirm tb resolves to the Forward CLI. If it still resolves to Classic, force-reinstall Forward (for example, uv tool install --force tinybird) or add a shell alias pointing tb at the Forward binary.

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