LangWatch logo

LangWatch Review (2026)

Apache-2.0 agent evaluation built around simulation - an Agent Under Test, a User Simulator and a Judge, run through pytest in CI. That architecture is the right shape for agents and almost nothing else here has it.

Researched

Rating

5.0

Starting Price

Event-based, rates not published

Free Plan

Yes

SDKs & Frameworks

4

Deployment

4

Best For

Teams building multi-turn or multi-agent systems who need evaluation that models conversations rather than scoring single outputs, and who want it running in CI.

Last Updated:

10 Things You Should Know About LangWatch

  1. 1 The core is Apache 2.0, with ee/ enterprise modules under a commercial licence
  2. 2 Roughly 3,275 GitHub stars, with the repository last updated 1 June 2026
  3. 3 OpenTelemetry-native, using the OTLP standard rather than proprietary SDKs
  4. 4 Self-hostable via Docker Compose, Helm, Kind or full Kubernetes
  5. 5 Cloud billing is based on ingested events per billing period
  6. 6 A billable event is either a span within a trace, or a scenario or evaluation run
  7. 7 There are no separate per-feature charges - evaluations, monitoring and simulations share one event stream
  8. 8 Scenarios pair an Agent Under Test, a User Simulator Agent and a Judge Agent
  9. 9 Runners are pytest-compatible and run locally or in CI
  10. 10 In March 2026 it open-sourced a standardised layer for evaluation, tracing, simulation and monitoring

Pros & Cons

Pros

  • The simulation architecture is genuinely the right shape for agents - you cannot evaluate a multi-turn system by scoring single outputs, and almost nothing else here models that
  • pytest-compatible runners mean agent evaluation runs in CI as an ordinary test rather than as a separate workflow
  • OpenTelemetry-native with OTLP, so instrumentation is portable rather than locking you to a vendor SDK
  • Apache 2.0 core with genuine self-hosting via Docker Compose, Helm, Kind or Kubernetes
  • Event-based billing with no separate per-feature charges, so evaluations and simulations do not each carry their own meter
  • Broad framework coverage including LangGraph, CrewAI, DSPy and Pydantic AI

Cons

  • Per-event rates are not published in any source we could verify, so cloud cost cannot be modelled without contacting them
  • Open-core, with ee/ enterprise modules under a commercial licence, so the open-source build is not the whole product
  • Simulation quality depends on your User Simulator and Judge Agent, which are themselves LLMs and carry the usual judge bias
  • Running simulations costs inference - an Agent Under Test, a Simulator and a Judge means several model calls per scenario turn
  • Smaller community than Langfuse, at roughly 3,275 stars

Features

Scenario simulation pairing an Agent Under Test, a User Simulator Agent and a Judge Agent
pytest-compatible runners, so agent evaluations run locally or in CI like tests
OpenTelemetry-native ingestion using OTLP rather than a proprietary SDK
Prompt versioning and deployment, with an Optimization Studio
Virtual-key AI Gateway with budgets and semantic caching
MCP server for building and running evaluations from Claude, Cursor or Copilot

The architecture is the argument

Most tools in this category evaluate agents by scoring their output. LangWatch simulates the conversation.

A scenario pairs three components:

ComponentRole
Agent Under TestYour agent
User Simulator AgentPlays the human, following a scripted scenario
Judge AgentScores the resulting interaction

And these run through pytest-compatible runners, locally or in CI.

That is the correct shape for the problem, and it is worth being precise about why.

Agent failures are trajectory failures. An agent that eventually produces an acceptable answer after calling the wrong tool twice, losing context between steps, and looping three times has failed in ways that matter operationally - cost, latency, reliability, user patience - while the final output looks completely fine.

A single-output score cannot see any of that. It grades the destination and ignores the path.

Almost every other tool in this category still treats the single response as the unit of evaluation, which is precisely why they struggle with agents and why “agent support” so often means an existing output scorer with a new label on it.

pytest compatibility matters more than it sounds

The runners being pytest-compatible is an administrative-sounding detail that decides whether evaluation actually happens.

An agent scenario that runs under pytest lives beside your unit tests, runs on the same trigger, fails the build the same way, and is owned by the same people.

The characteristic failure of evaluation platforms is becoming a dashboard someone visits occasionally rather than a gate that blocks bad changes. Gentrace understood this and shut down; Braintrust builds around it. Putting the runner in pytest is the most direct fix available, because it means nobody has to remember to evaluate.

Cost, and the part that is not on their invoice

Cloud billing is on ingested events. An event is a telemetry point - most commonly a span, meaning an LLM call, tool execution or retrieval step - and a billable event is either a span within a trace or a scenario/evaluation run.

The genuinely good part: no separate per-feature charges. Evaluations, monitoring and simulations all draw on the same event stream rather than each carrying its own meter. Compare Confident AI metering GB-months separately, or Langtail charging by prompt count.

Per-event rates are not published in anything we could verify. Recorded as not published; check directly before budgeting.

The larger cost is elsewhere and worth modelling first. Each scenario turn drives several model calls - the Agent Under Test responding, the Simulator generating the next human turn, the Judge scoring. A twenty-turn scenario is not twenty model calls but closer to sixty. A hundred scenarios per pull request multiplies from there.

This is the same class of hidden cost we flagged on Ragas and NeMo Guardrails, and it lands on your model provider bill, not LangWatch’s. Sample on pull requests, run the full suite nightly.

Open core, honestly split

The core is Apache 2.0, self-hostable via Docker Compose, Helm, Kind or full Kubernetes, with roughly 3,275 GitHub stars and the repository last updated 1 June 2026. Coverage of its March 2026 release described it as open-sourcing a standardised layer for evaluation, tracing, simulation and monitoring.

The qualification: ee/ modules sit under a commercial licence, so the open build is not the whole product.

That is a normal open-core split, and more honest than vendors who advertise self-hosting while withholding production monitoring - Arize Phoenix being the case this site keeps returning to. But check whether anything you need lives in ee/ before planning a self-hosted deployment.

It is OpenTelemetry-native using OTLP rather than a proprietary SDK, which means your instrumentation is portable. In a category where this site has documented four shutdowns and eight acquisitions, that is worth real weight.

Framework coverage is broad: LangChain, LangGraph, DSPy, OpenAI Agents, LiteLLM, Pydantic AI, CrewAI, AWS Bedrock.

The judge is still a judge

The simulation architecture does not solve LLM-as-judge bias, it applies it to trajectories instead of single outputs.

The Judge Agent is a model scoring another model, carrying the documented problems: generosity toward output from its own model family, sensitivity to length and confident phrasing, and drift when the underlying judge model is updated beneath you.

Relative comparisons between two versions of your own agent, judged by the same model in the same run, remain the reliable use. Pin your judge model version if comparability over months matters. Patronus is the only vendor here attacking this with purpose-trained judges rather than prompting a general model.

Should you use it?

Use LangWatch if you are building multi-turn or multi-agent systems and need evaluation that models conversations rather than scoring outputs, especially if you want it gating CI.

Don’t use it if your workload is single-turn completions - Ragas or DeepEval are simpler and sufficient - or you need published pricing to budget.

Bottom line: the only tool here whose architecture matches what agent evaluation actually requires, Apache-2.0 at the core, OTel-native, and designed to run as a test rather than a dashboard. Model the simulation inference cost before you scale it, and check what sits behind the enterprise licence.


Licence, repository activity, architecture, integrations and billing model verified against project documentation, the repository and contemporaneous coverage on 3 August 2026. Per-event pricing is not published in sources we could verify and has not been estimated. This is a researched directory entry - we have not yet instrumented this platform with our reference application.

Pricing Plans

Open source

$0

  • Apache 2.0 core, with ee/ enterprise modules under commercial licence
  • Self-host via Docker Compose, Helm, Kind or full Kubernetes
  • All features available from the open-source repo
Most Popular

Cloud Free

$0

  • No credit card required
  • Includes evaluations, monitoring and agent simulations
  • Aimed at small-scale testing

Cloud Paid

Per ingested event

  • Billed on ingested events per period
  • No separate per-feature charges
  • Seats scale with team size
  • Per-event rates not published in sources we could verify

SDKs & Frameworks

Python TypeScript OpenTelemetry OTLP LangChain, LangGraph, DSPy, CrewAI, Pydantic AI, OpenAI Agents, LiteLLM, AWS Bedrock

Deployment

LangWatch Cloud Self-hosted via Docker Compose, Helm, Kind or Kubernetes OpenTelemetry-native, no proprietary SDK required MCP server for Claude, Cursor and Copilot

Eval Methods

Multi-turn agent simulation against scripted scenarios Judge Agents User Simulator Agents Real-time and batch evaluation pytest-compatible runners for CI Labelled dataset management

Our Verdict

LangWatch is the strongest agent evaluation tool we have found, and the reason is architectural rather than a feature list. Its scenarios pair three components - an Agent Under Test, a User Simulator Agent that plays the human, and a Judge Agent that scores the result - and run through pytest-compatible runners locally or in CI. That is the correct shape for the problem. You cannot meaningfully evaluate a multi-turn agent by scoring individual outputs, because the failures that matter are trajectory failures, and almost every other tool in this category still treats the single response as the unit. Simulating a conversation and judging the whole thing is what agent evaluation actually requires. It is Apache 2.0 at the core with genuine self-hosting, OpenTelemetry-native so instrumentation stays portable, and billed on ingested events with no per-feature charges. The gaps are honest ones. Per-event rates are not published anywhere we could verify, the ee/ modules are commercially licensed, and running simulations costs real inference since each scenario turn drives several model calls.

Similar Tools

Frequently Asked Questions

Why is simulation the right approach for agents?

Because agent failures are trajectory failures, and a single-output score cannot see them. An agent that eventually produces an acceptable answer after calling the wrong tool twice, losing context, and looping has failed in ways that matter operationally - cost, latency, reliability - while the final output looks fine. Scoring that output tells you nothing. LangWatch simulates the whole conversation, with a User Simulator Agent playing the human against a scripted scenario and a Judge Agent scoring the result, so what gets evaluated is the path rather than the destination. Almost every other tool in this category still treats the single response as the unit of evaluation, which is why they struggle with agents.

What does pytest compatibility actually buy me?

It makes agent evaluation an ordinary test rather than a separate discipline. Runners are pytest-compatible and run locally or in CI, which means an agent scenario lives beside your unit tests, runs on the same trigger, fails the build the same way, and is owned by the same people. That sounds administrative and is the difference between evaluation happening and not happening. The common failure mode with eval platforms is that they become a dashboard someone visits occasionally rather than a gate that blocks bad changes, and putting the runner in pytest is the most direct fix for that.

What does it cost?

Billed on ingested events, with the rates not published in anything we could verify. An event is a telemetry point, most commonly a span - an LLM call, tool execution or retrieval step - and a billable event is either a span within a trace or a scenario or evaluation run. The genuinely good part of the model is that there are no separate per-feature charges, so evaluations, monitoring and simulations all draw on the same event stream rather than each carrying its own meter. The free plan includes evaluations, monitoring and agent simulations with no credit card. We are recording the paid rates as not published and would check langwatch.ai directly before budgeting.

What is the hidden cost of simulation?

Inference, and it is worth modelling before you scale up. Each scenario turn drives several model calls - the Agent Under Test responding, the User Simulator generating the next human turn, and the Judge scoring. A twenty-turn scenario is therefore not twenty model calls but something closer to sixty, and running a hundred scenarios on every pull request multiplies accordingly. This is the same class of cost we have flagged on Ragas and NeMo Guardrails, and it lands on your model provider bill rather than on LangWatch's invoice. Sample scenarios on pull requests and run the full suite nightly.

How open is the open-source version?

Genuinely open at the core with a commercial layer on top. The core is Apache 2.0 and self-hostable via Docker Compose, Helm, Kind or full Kubernetes, and coverage of its March 2026 release described it as open-sourcing a standardised layer for evaluation, tracing, simulation and monitoring. The qualification is that ee/ modules sit under a commercial licence, so the open build is not quite the whole product. That is a normal open-core split and more honest than vendors who advertise self-hosting while withholding production monitoring - Arize Phoenix being the example we keep returning to - but check whether anything you need lives in ee/ before planning a self-hosted deployment.

How much should I trust the Judge Agent?

With the same scepticism you would apply to any LLM-as-judge. The Judge Agent is a model scoring another model's behaviour, which carries the documented biases - generosity toward output from the same model family, sensitivity to length and confident phrasing, and drift when the underlying judge model is updated beneath you. The simulation architecture does not remove that problem, it just applies it to trajectories instead of single outputs. Relative comparisons between two versions of your own agent, judged by the same model in the same run, remain the reliable use. Pin your judge model version if you care about comparability over months.