LangSmith Migration Guide
Last updated: September 16, 2026
Use this guide as a reusable framework for planning and carrying out migrations across LangSmith deployment models.
Supported migration paths
SaaS ⇔ SaaS
SaaS ⇔ BYOC
SaaS ⇔ self-hosted on AWS, Azure, or Google Cloud
Self-hosted ⇔ self-hosted, including migrations between AWS, Azure, and Google Cloud
Self-hosted ⇔ BYOC
The guide covers organization configuration, authentication, users, workspaces, projects, application resources, integrations, and historical data. The overall workflow is consistent across these paths, but prerequisites, networking, identity configuration, infrastructure ownership, and cutover steps will vary by source and destination.
It assumes you have administrator access to both environments and can coordinate a change window with the teams whose applications send traces.
Use the checklist as the common migration flow, then adapt each activity to the selected source and destination. The sections below explain the required decisions, limitations, validation steps, and commands.
Migration Checklist Steps
Define the migration scope and target outcome.
Identify owners and stakeholders.
Review compatibility and prerequisites.
Prepare the destination environment.
Configure access and migration tooling.
Run a pilot migration.
Migrate users and application resources.
Restore credentials and integrations.
Plan the live traffic transition.
Migrate required historical data.
Validate the destination environment.
Complete cutover and close the migration.
Recommended Approach: Two Phases
Running the migration in two phases lets you validate the destination environment against live traffic before committing to cutover. This reduces risk and creates a clear decision point between setup and final migration.
Phase | Scope | Exit condition |
|---|---|---|
1. Setup and dual-write | Create and configure the destination organization, migrate supported resources, then send new traces to both the source and destination in parallel. | The destination is fully configured and live trace parity has been validated. |
2. Historical data and cutover | Migrate the required historical trace data, validate completeness, complete final reconciliation, then stop writing to the source. | The destination is the sole system of record. |
Treat the end of Phase 1 as a go/no-go checkpoint. Begin cutover only after access, integrations, resource counts, and live trace parity have been validated and rollback criteria are agreed.
Migration Tool Capabilities, Limitations and Actions
Most resource migration is handled by the open-source LangSmith Data Migration Tool. Understanding its boundaries up front is the single biggest factor in a smooth migration.
✅ Migrated by the tool
❌ Not transferred and requires a destination-side action
For a full supported-resource migration, run langsmith-migrator migrate-all --map-projects. The Action column points to the matching individual command or follow-on step.
Product / area | Resource | Migratable | Key note | Action |
|---|---|---|---|---|
Administration | Custom roles, organization members, and workspace memberships | ✅ | Configure destination authentication first. | Migration process 1 |
Datasets | Datasets and examples, including attachments | ✅ | Experiments can be migrated in the same operation. | Migration process 2 |
Datasets | Experiments, runs, and feedback | ✅ | Timestamps shift to migration time; relative timing is preserved. | Migration process 2 |
Prompts | Prompts | ✅ | The latest commit is migrated by default; full history is available. | Migration process 3 |
Annotation | Annotation queues | ✅ | Queue configuration is migrated; verify whether in-flight items must be recreated. | Migration process 4 |
Automation | Automation rules | ✅ | Rules arrive disabled. Configure destination secrets before enabling them. | Migration process 5 |
Monitoring | Monitoring dashboards and charts | ✅ | Validate project and session filters after migration. | Migration process 6 |
Model pricing | Custom model pricing | ✅ | Migrate before traces so destination costs calculate correctly. | Migration process 7 |
Context Hub | Context Hub agents and skills | ✅ | Full history and tags are included by default. Use | Migration process 8 |
Context Hub | Context Hub linked-repository pins | ❌ | Cross-instance commit pins are removed. | Migrate linked repositories separately, then re-pin them on the destination. |
Context Hub | Context Hub external contexts | ✅ | Excluded by default; unsupported repository handles may fail. | Migration process 8 |
Engine | Engine configurations and issue metadata | ✅ | Source-only fields are removed. Existing same-name issues and configurations are skipped. | Migration process 9 |
Engine | Engine project scope | ✅ | All projects containing Engine data are included by default; experiment sessions are excluded. | Migration process 9 |
Engine | Engine run links, trace deep-links, GitHub fix references, and advisory actions | ❌ | Source run IDs are not portable. GitHub and Context Hub links require matching destination integrations. | After destination traces and integrations are ready, run Engine there to regenerate links and actions. |
Fleet | Fleet agents, skills, MCP servers, integrations, schedules, triggers, webhooks, usage limits, and sandbox policies | ✅ | Existing destination resources are not overwritten. Unsupported models are substituted. | Migration process 10 |
Fleet | Fleet ownership and shared-user access | ✅ | Use a destination PAT ( | Migration process 10 |
Fleet | Fleet workspace secrets and auth-provider client secrets | ❌ | The API cannot return secret values; migration creates empty placeholders. | Migration process 10 → follow-on action 1 |
Tracing | Historical trace data | ❌ | Not migrated by the released resource tool. Bulk Export preserves history externally but does not populate destination trace views. | Validation and follow-on actions 3 |
Identity & access | SSO/SAML configuration | ❌ | Identity configuration is instance-specific. | Prepare destination 4 |
Identity & access | SCIM provisioning | ❌ | Provisioning configuration is instance-specific. | Prepare destination 4 |
Identity & access | MFA and access policies | ❌ | Identity policies are instance-specific. | Prepare destination 4 |
Identity & access | Passwords | ❌ | User credentials are never transferred. | Validation and follow-on actions 1 |
Credentials & integrations | API keys and personal access tokens | ❌ | Credentials are instance-scoped. | Validation and follow-on actions 1 |
Credentials & integrations | Per-user OAuth connections | ❌ | Slack, GitHub, Gmail, and similar connections are tied to individual user tokens. | Validation and follow-on actions 1 |
Credentials & integrations | Infrastructure OAuth providers, GitHub App, and Slack app | ❌ | These are deployment-layer settings, not API resources. | Prepare destination 4 → follow-on action 1 |
Prerequisites
1. Define the migration scope and target outcome
Document the source and destination deployment models, cloud providers, regions, and versions. Define the reason for the migration, what is included or excluded, the expected timeline, and the criteria that will determine whether the migration is successful.
2. Identify owners and stakeholders
Identify the migration lead, technical owners, application teams, and relevant security, identity, networking, and platform contacts. Agree who can make decisions, approve each stage, validate the result, and manage communications or escalations.
3. Review compatibility and prerequisites
Confirm that the source, destination, application SDKs, and migration tooling are compatible. Review differences in versions, features, licences, capacity, permissions, retention, and configuration. Record any upgrades, platform changes, limitations, or manual work required before migration.
4. Prepare the destination environment
Provision the destination and configure the required organizations, workspaces, authentication, networking, security, storage, monitoring, and administrative access. Confirm that it has enough capacity for both live usage and migration activity, and record any required source-to-destination mappings.
Configure Migration Tool
1. Configure access and migration tooling
Select the supported migration-tool version or approved migration method. Create the required source and destination credentials, confirm connectivity, and configure workspace mappings and migration filters.
Install UV and migration tool package
uv tool install "langsmith-data-migration-tool @ git+https://github.com/langchain-ai/langsmith-data-migration-tool.git"Configure source and destination credentials
export LANGSMITH_OLD_API_KEY="<source org admin PAT>"
export LANGSMITH_OLD_BASE_URL="<source base URL>"
export LANGSMITH_NEW_API_KEY="<destination org admin PAT>"
export LANGSMITH_NEW_BASE_URL="<destination base URL>"List projects and create workspace mappings
langsmith-migrator list-projects --source
langsmith-migrator users --map-workspacesThe workspace mapping is stored in ~/.langsmith-migrator/config.json.
2. Run a pilot migration
Use a representative organization, workspace, project, or data range to test the migration process. Review successful, failed, skipped, and blocked items. Validate the migrated content, record required manual actions, and update the wider migration plan before proceeding.
langsmith-migrator testUse personal access tokens (PATs)
Set both migration credentials to PATs with the lsv2_pt_* prefix:
LANGSMITH_OLD_API_KEY- source organization PATLANGSMITH_NEW_API_KEY- destination organization PAT
Do not use workspace API keys (lsv2_sk_*). They cause prompt migrations to fail and can leave Fleet agents orphaned without an obvious error.
3. Migration Process
Option A: Migrate all resources using one command
The migration tool can migrate all supported LangSmith resources in a single operation, except those listed under Migration Tool Limitations. You can also migrate resource types individually. To migrate all supported resources, run:
langsmith-migrator migrate-all --map-projectsOption B: Migrate individual resources using multiple commands
Migrate resources in dependency order. The first three activities mapping workspaces, mapping projects, and migrating users, roles, and memberships are completed in one guided workflow.
1. Map workspaces and projects, then migrate users
langsmith-migrator users --map-workspacesIn the interactive interface:
Press
ato automatically match workspaces by name.Press
cto create any remaining unmapped source workspaces in the destination.For each mapped workspace pair, press
pto open project mapping and match its projects.Press
Ctrl+Sto save the mappings and continue with the user, role, and membership migration.
The tool saves workspace and per-workspace project mappings to ~/.langsmith-migrator/config.json. Subsequent commands offer to reuse this configuration.
2. Migrate datasets and experiments
langsmith-migrator datasets --all --include-experiments3. Migrate prompts
langsmith-migrator prompts --all4. Migrate annotation queues
langsmith-migrator --non-interactive queues5. Migrate automation rules
langsmith-migrator rules --all --map-projectsBy default, migrated rules are disabled. Add --create-enabled only if they should be active immediately in the destination.
6. Migrate dashboards and charts
langsmith-migrator charts --map-projects7. Migrate model pricing
langsmith-migrator --non-interactive model-pricing8. Migrate Context Hub repositories
langsmith-migrator contexts --all9. Migrate Engine
langsmith-migrator issues --all --map-projects10. Fleet (agents, skills, MCP servers, secrets, auth providers, triggers, webhooks, usage limits, sandbox policies)
langsmith-migrator fleetKeep --map-projects on the automation-rules and charts commands even if projects were mapped earlier. This explicitly reconfirms project scoping rather than assuming that each per-workspace mapping will be reused automatically.
After each command, review migrated, failed, skipped, and blocked items. Resolve blockers, retry incomplete work where appropriate, and compare source and destination counts. To resume an interrupted migration, run:
langsmith-migrator resume4. Validation and Follow On Actions
1. Restore credentials and integrations
Create replacement API keys, access tokens, secrets, and authentication settings that cannot be transferred. Reconnect external integrations, update application endpoints and credentials, restore ownership or sharing where required, and test each integration before production use.
2. Plan the live traffic transition
Choose an appropriate transition method, such as direct cutover, staged cutover, a temporary pause, or dual-write. Define the cutover window, application changes, validation period, communications, rollback steps, and the conditions for continuing or reverting the migration. If dual-write is used, preserve identifiers where required to prevent duplicate traces.
3. Historical trace data
The resource migration tool does not migrate trace data. Decide early which outcome you need, because the options below solve different problems and have different operational costs.
Option A: Retain history outside LangSmith (available today)
Use Bulk Export to export historical traces from the source instance into your own object storage or data lake. This preserves the data for analysis, audit, and compliance.
Bulk Export does not import traces into the destination LangSmith environment. Exported traces remain in your data lake and will not appear in destination projects, charts, or trace views.
Option B: Keep the source instance readable (available today)
Freeze writes to the source at cutover, but keep the instance available in read-only mode for an agreed period so teams can consult historical traces. Set a planned decommission date and define who retains access during the transition.
This avoids a large transfer entirely and is often sufficient when historical traces are consulted occasionally rather than queried routinely.
Option C: Migrate traces into SaaS (in development)
Native migration of historical traces into LangSmith SaaS is not available in the released tool. If destination-native history is a hard requirement, contact support@langchain.dev before planning cutover so scope, eligibility, and timing can be assessed for your environment. Use the same address for any trace migration questions, issues, or concerns.
Two constraints determine potential eligibility:
Eligibility is based on the retention tier attached to each trace when it was originally ingested, not the project's retention setting today.
Changing a project's retention setting is not retroactive. Switching a project to extended retention now does not make older traces eligible.
Audit which projects historically used extended retention and reconcile their eligible volume against the total trace volume. The eligible subset may be significantly smaller than the raw total.
Planning a large transfer
For volumes measured in tens of terabytes or more, transfer capacity usually becomes the dominant constraint rather than the migration tooling.
Approach | When it fits | Considerations |
|---|---|---|
Dedicated or private network connectivity | You can provision a path that bypasses the existing bottleneck. | Best for repeatable transfers and re-runs; requires network and security approval. |
Offline transfer appliances | Available bandwidth cannot be increased in time. | Adds physical logistics and handling time; plan the device count against total volume. |
Direct upload to destination-region object storage | Cross-region throughput is adequate. | The simplest path; validate sustained throughput with a measured test. |
Upload locally, then complete a second transfer leg | Direct cross-region upload underperforms. | Creates two transfer legs to schedule, monitor, validate, and reconcile. |
Measure throughput and confirm the units.
Egress is often constrained by traffic inspection, proxies, or a shared path carrying production traffic rather than by the link itself. Confusing megabytes with megabits per second changes the estimate by a factor of eight. Check whether a policy or proxy exemption can remove the bottleneck before engineering around it.
Measure sustained throughput on the intended path and confirm the units.
Determine whether the bottleneck can be lifted during the transfer window.
Complete security, capacity, and operational approvals before committing to a date.
Agree the transfer schedule and name owners for monitoring, retries, and escalation.
If data at rest is encrypted, confirm which identity can read and decrypt it.
Validation
1. Validate the destination environment
Compare the source and destination, validate representative resources and data, and test user access, applications, workflows, and integrations. Confirm that monitoring and operational support are ready, resolve or accept migration exceptions, and obtain stakeholder approval.
2. Complete cutover and close the migration
Move live traffic to the destination and confirm that applications and users are operating normally. Stop source writes only after approval, monitor the destination during the agreed validation period, complete final reconciliation and sign-off, and retain or decommission the source according to the approved plan.
Questions, issues, or concerns?
Contact Technical Support for help with migration planning, trace migration requirements, troubleshooting, or unexpected results.