> ## Documentation Index
> Fetch the complete documentation index at: https://docs.braintrust.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Copy prompts, scorers, and datasets across projects

> [!NOTE]
>
> **Applies to:**
>
> * Plan - Any
> * Deployment - Any
> *
> * Use case - Copying or referencing prompts, scorers, and filtered dataset rows from one project to another (e.g., a shared project into a personal Playground project)

## Summary

**Goal:** Copy or share prompts, scorers, and dataset records from one Braintrust project to another.

**Features:** Cross-project UI picker, Python SDK, dataset export and import, SQL filtering.

## Configuration steps

### Step 1: Reference resources cross-project in the Playground UI

No copying required for read-only use. In the Playground, click **+ Task**, **+ Scorer**, or **Select a dataset**. Each dropdown includes an **Other projects...** option to reference resources from another project directly.

### Step 2: Copy a prompt to another project (editable local copy)

You can duplicate a prompt from:

* The prompt header
* A saved version in its **Activity** tab
* The **Prompts** table, after selecting one or more prompts

Choose the current project or another available project as the destination.

For automation or SDK-only workflows, you can also use the Python SDK:

```python theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
import braintrust

# Get the prompt from source project
source_client = braintrust.init(project="Source Project Name")
source_prompt = source_client.get_prompt("prompt-slug")

# Create copy in target project
target_client = braintrust.init(project="Target Project Name")
target_client.prompts.create(
    name=source_prompt.name,
    slug=source_prompt.slug + "-copy",  # Use different slug to avoid conflicts
    prompt_data=source_prompt.prompt_data,
    description=source_prompt.description,
)
```

### Step 3: Copy a scorer to another project (editable local copy)

You can duplicate a scorer from:

* The scorer header
* A saved version in its **Activity** tab
* The scorer editor dialog that opens from a scorer selector
* The **Scorers** table, after selecting one or more scorers

Choose the current project or another available project as the destination. A copy made from an editor includes any unsaved changes.

For automation or SDK-only workflows, you can also use the Python SDK:

```python theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
import braintrust

# Get scorer function from source project
source_client = braintrust.init(project="Source Project Name")
scorer_functions = source_client.functions.list()
source_scorer = next(f for f in scorer_functions if f.slug == "scorer-slug")

# Create copy in target project
target_client = braintrust.init(project="Target Project Name")
target_client.functions.create(
    slug=source_scorer.slug + "-copy",
    name=source_scorer.name,
    function_data=source_scorer.function_data,
    function_type="scorer"
)
```

Alternatively, recreate the scorer manually in the destination project via the UI using the same configuration.

### Step 4: Export filtered dataset rows and import to target project

1. Open the source dataset in the UI.
2. Apply your SQL filter.
3. Download the filtered subset using the export/download button.
4. In the target project, create or open a dataset and upload the downloaded file.

The **Add to dataset** picker in the UI also supports selecting a dataset in another project as the target directly.

## Notes

* Cross-project references (Step 1) share the resource — changes in the source project affect all references.
* Steps 2–3 create independent local copies that can be modified without affecting the source.
* You can duplicate up to 100 prompts or scorers at once in the UI.
* Cross-project UI copies keep the source name and slug. If the slug is already in use in the destination project, the copy is named `<original name> (copy)` and gets a new slug.
* UI duplication of either a prompt or a scorer requires [**Read** permission](https://docs.braintrust.dev/admin/access-control.md#object-permissions) on the source. Scorer duplication uses prompt permissions, so you also need **Create** and **Update** permissions for prompts in the destination project. Only projects where you have both destination permissions appear in the destination picker.
* Copied references, such as MCP servers and tools, retain their existing access requirements.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.