Fix validation is in private beta. It is available only on LangSmith Cloud, for organizations where it has been enabled. It supports only agents running on LangSmith Cloud deployments, not externally hosted agents. To request access, join the waitlist.
- To validate an issue, Engine replays its linked traces against a configured baseline deployment to confirm that the issue reproduces.
- To verify a fix, Engine replays the same traces against a preview deployment built from Engine’s proposed fix.
Set the baseline deployment
The baseline deployment is the deployment Engine replays issue traces against. Red Teaming sends its probes to the same deployment. It must be a ready, non-preview LangSmith Cloud deployment of your agent in the same workspace, and selecting it requiresdeployments:update on that deployment.
To set the baseline deployment:
- On the Engine page, select the tracing project, then click Configure Engine.
- In the Deployment section, find the Baseline deployment field.
- Search for a deployment, or paste its LangSmith URL or deployment ID. Preview deployments and deployments that are not ready cannot be selected from the list. The baseline can be a production or staging deployment, but use staging when possible so validation does not exercise production credentials and services.
- Click Save.
Authenticate with your deployment
By default, Engine calls your deployment with a LangSmith credential, and the deployment sees the caller as a Studio user. Deployments that accept LangSmith platform authentication need no further setup. If your deployment authenticates callers itself, give Engine the headers it expects:- In the Deployment section, under Deployment authentication, click Add custom headers.
- Enter every header your deployment requires, then click Save.
- In your deployment’s authentication handler, map those headers to an identity with the least access validation needs.
Custom headers only decide whether your deployment accepts the request. They do not tell your agent that a run is a validation replay, which is a separate signal described in Make replayed runs side-effect free.
Set up fix verification
To have Engine verify its own fixes against a preview deployment:- Set the baseline deployment.
- Connect the GitHub repository Engine should modify. Engine opens its fix as a pull request there. In the repository settings, select the base branch for Engine’s fixes, or leave it blank to use the repository’s default branch.
- Enable preview builds on the baseline deployment, triggered by label. Use the following starting configuration:
- Set Preview base branch to the same branch configured for Engine.
- Select Label only and set Trigger label to
preview. Engine applies this label to its fix pull request. - Set Idle TTL to 6 hours.
- Set Max concurrent previews to 20.
- In the Deployment section of Configure Engine, select Verify fixes with preview deployments.
- Click Save.
Prepare a deployment to test against
Engine confirms an issue by running your agent, so the deployment you select needs to be one you can exercise repeatedly without consequences.Use a deployment you can safely exercise
Choose a deployment that mirrors the configuration of the agent you want to test, but that is not the one serving your users. Point it at test credentials, test accounts, and non-production data stores for any service your agent writes to.Make replayed runs side-effect free
Engine setsconfig.configurable.__engine_validation_replay__ = true on every replay, so your agent can recognize one and respond more conservatively. At the HTTP boundary, validation requests also include X-LangSmith-Source: engine. Use the configurable marker in graph code and the header in request middleware.
Use the marker to skip or block tools whose effects leave your agent, such as sending email or messages, charging customers, filing tickets, writing to production data stores, scheduling work, and calling partner APIs.
Copy-paste allowlist middleware
Copy-paste allowlist middleware
Add the following middleware to your agent project:Register it on every run and allow only tools that are read-only and isolated:Without the replay marker, the middleware passes tool calls through unchanged. During validation, it invokes only tools in
safe_tools and returns an error ToolMessage for every other tool. An empty allowlist blocks all tools.Verify trusted Engine context
The replay marker is not proof of identity because any caller can set configurable values. If your deployment reconstructs user context or accesses protected data during validation, verify the authenticated Engine identity first:langgraph_auth_user_id in your authentication handler before applying the same check. Authentication headers establish caller identity, while the replay marker activates the reduced-privilege tool policy.
Expect a burst of traffic
Engine replays an issue’s traces at the same time, so a validation can start up to five runs at once and each one runs to completion. Fix verification repeats the same set against the preview deployment. Confirm that the deployment’s rate limits, quotas, and any downstream service it calls tolerate that burst.Keep the deployment available
Engine can only replay against a ready, non-preview deployment, and it records the deployment and revision that produced each result. Keep the deployment running while validation is in progress, and expect a result to describe the revision that was active when Engine tested it.Test an issue
When a baseline deployment is set, Engine validates each new issue automatically when it creates the issue. To validate an issue again, open it and click Test issue. Test issue is unavailable when no baseline deployment is set, when the issue has no linked traces, or when the monthly LSU spend limit is reached. For each validation, Engine:- Selects up to five distinct traces linked to the issue, in the order they were linked.
- Replays each trace’s input against the baseline deployment. For a trace from a multi-turn thread, Engine includes the earlier turns of the conversation, so a follow-up failure is judged in the same context.
- Judges whether each replay shows the issue’s reported behavior again. Each trace is Reproduced, Not reproduced, or Inconclusive.
Verify a fix
When Verify fixes with preview deployments is selected, Engine verifies each fix it generates:- When a fix run completes, Engine opens a pull request for the fix if one is not already open, then adds the preview build label to it.
- LangSmith builds a preview deployment from the pull request.
- When the preview revision is live, Engine replays the traces from the issue’s validation against the preview deployment.
- If the issue still occurs on the preview, Engine revises the fix on the same pull request and verifies it again, for up to three attempts in total.
Read a validation result
Each issue reports a baseline result and, once a fix exists, a verification result. The baseline result answers whether the issue still happens on your deployment:
The verification result answers whether Engine’s fix resolved it:
Review validation experiments
Engine stores each issue’s validation evidence in your workspace:- Dataset: One per issue, described as
Engine validation evidence, with one example per replayed trace. - Baseline experiment: The replays against the baseline deployment.
- Fix experiment: The replays against a fix’s preview deployment, one experiment per verification attempt.
engine_issue_validation. The value is reproduced or not_reproduced, and the feedback comment explains the verdict.
When Engine verifies a fix against a preview deployment, the issue’s Evidence section shows the overall verdict and one row per trace:
- Flagged traces: What Engine saw in the original trace. Click Original trace to open it.
- Reproduced on prod: The baseline result, Reproduced, Not reproduced, or Inconclusive. Click Repro trace to open the replay.
- After PR #<number>: The result on the fix’s preview, Fix verified, Recurred, or Inconclusive. Click the trace link to open the replay.
Troubleshoot validation
If an issue stays on Awaiting test, or a result comes back inconclusive, check the following before testing it again:- The baseline deployment: Confirm it is still ready, is not a preview, and is in the same workspace as the tracing project.
- Authentication: If your deployment authenticates callers itself, confirm the saved headers are current. Replacing a credential requires re-entering every header value.
- The replays themselves: Open the replayed runs from the issue’s Evidence section or validation summary and read what your agent returned.
- Deployment limits: Look for rate limiting, quota exhaustion, or timeouts caused by the concurrent replays, and for very large responses, which Engine may not be able to judge.
- Restricted tools: If your agent blocks tools during a replay, confirm the stubbed tools still return a usable result rather than an error that ends the run.
See also
- Find and fix issues: Review the issues Engine validates.
- Red Teaming: Probe the same baseline deployment with synthetic requests.
- Preview builds: Create the preview deployments Engine verifies fixes against.
- Compare experiment results: Compare the baseline and fix experiments side by side.
- Engine security: Review how Engine accesses your traces, deployments, and repositories.
Connect these docs to your agent of choice via MCP for real-time answers.

