---
last_updated: "2026-10-27T10:50:31.000Z"
title: tb copy
meta:
    description: Manage copy pipes in your Tinybird project
---

# tb copy

Manages copy pipes. Global options apply to this command. See [Global options](/forward/dev-reference/commands/global-options).

The following subcommands are available:

{% table %}
  * Subcommand
  * Description
  ---
  * ls
  * Lists all the copy pipes.
  ---
  * run [OPTIONS] PIPE_NAME_OR_ID
  * Runs a Copy Pipe job.
  ---
  * pause PIPE_NAME_OR_ID
  * Pauses a copy job.
  ---
  * resume PIPE_NAME_OR_ID
  * Resumes a copy job.
{% /table %}

## tb copy run

Runs a copy job.

{% table %}
  * Option
  * Description
  ---
  * --wait
  * Waits for the copy job to finish.
  ---
  * --mode [append|replace]
  * Defines the copy strategy.
  ---
  * --param TEXT
  * Key-value pair to pass as a parameter to the Copy Pipe. For example: `tb copy run <my_copy_pipe> --param foo=bar`
  ---
  * --on-demand-compute
  * Runs the copy job on isolated on-demand compute instead of your Workspace compute. Not recommended for short jobs, which cost more there. Manual runs always need this flag, even when the datafile sets `ON_DEMAND_COMPUTE true`. If the local datafile doesn't set `ON_DEMAND_COMPUTE true`, the CLI asks for confirmation before running. See [on-demand compute for copy jobs](/forward/core-concepts/copy-pipes#on-demand-compute-for-copy-jobs).
  ---
  * --yes
  * Skips confirmation prompts, such as the on-demand compute confirmation. Useful in CI.
{% /table %}

`tb copy run` triggers a manual run. It doesn't read `ON_DEMAND_COMPUTE` from the datafile, which only applies to scheduled executions.

## Environment support

{% table %}
  * Environment
  * Supported
  * Description
  ---
  * `--local`
  * ✓ Yes (default)
  * Manages copy pipes locally.
  ---
  * `--cloud`
  * ✓ Yes
  * Manages copy pipes in Tinybird Cloud.
  ---
  * `--branch=BRANCH_NAME`
  * ✓ Yes
  * Manages copy pipes in a branch.
{% /table %}