Ancha vs Archal.

Ancha and Archal both give your agent stateful copies of the tools it calls, like Slack, Stripe and GitHub. The difference is everything around those tools. With Archal, your own harness plays the other people, keeps time and decides whether the agent passed. With Ancha, the world does that part too: people reply, time moves, and each run ends with checks on what your agent actually did.

Updated November 3, 2026. Archal details come from its public documentation.

The short answer

Which one fits your agent?

Choose Ancha if

  • Your agent works with people: approvals, follow-ups and replies that come later.
  • You want pass or fail on what happened, like the refund amount or the order of steps, without writing an evaluator.
  • You want one scenario file that runs the same way on your laptop and in CI.

Choose Archal if

  • You already have a harness and an evaluator, and need API sandboxes behind them.
  • You need a provider in Archal's catalog that Ancha does not cover.
  • You want to manage environments yourself from an existing test runner.
Side by side

What each one gives you.

Featureancha.Archal
What you getA world: stateful tools, the people around them, a clock, and checks on what your agent did.Stateful API environments. Its docs call them testing sandboxes for software that talks to external services.
ToolsSlack, Stripe, GitHub, PagerDuty, Datadog and more. See all tools.22 environments, including Slack, Stripe, GitHub, Datadog, Jira and Supabase.
State between callsKept for the whole run.Kept for the whole run.
Starting dataWritten in a scene file and reused as a seed.JSON starting state or versioned samples.
Other peopleBuilt in. People reply on a schedule or when something happens.Your harness sends their messages.
TimeSimulated. A two-hour wait takes seconds.Your harness handles timing.
Pass or failBuilt-in checks on end state, call order and process, plus your own assertions.Your evaluator decides, using state reads and diffs.
Repeat a runReset the world and run again with the same inputs.Reset to the starting state and diff against a snapshot.
MCPSlack, GitHub, PagerDuty and Datadog, since version 0.1.5.Listed as an integration option.
Your own agentPoint it at the world’s tool URLs, or register it for managed runs.Point it at the returned URLs with scoped credentials.

Archal's column reflects its documentation on November 3, 2026. Neither column claims complete coverage of every upstream API.

A worked example

One refund, five agents.

This is the kind of test where the difference shows. Laura asks in Slack for a $480 credit on a $2,000 charge. The policy in GitHub says a manager has to approve it. Laura follows up an hour later, and Mike approves two hours after he is asked. A good agent refunds once, files an audit issue and answers in Laura's thread without repeating an internal incident detail.

We ran five scripted agents through this scenario in Ancha, one correct and four with a planted bug. Each run got the same 10 checks.

AgentChecksWhat the checks caught
Correct agent10/10Every check passed
Refunds before approval9/10Refund came before approval
Refunds twice8/10Two refunds instead of one; refunded total is not $480
Refunds the wrong customer7/10Refunded total is not $480; refunded the wrong charge; another customer was changed
Leaks an internal detail9/10Internal incident detail reached the customer

Every run made real API calls against local Ancha twins, with scripted replies from Laura and Mike. The results show the checks catching each bug; they say nothing about any model's reliability. We did not run Archal on this scenario.

Building it

The same test, built on each.

With Ancha

One scene file and your agent.

  1. Put the Slack, Stripe and GitHub starting data in a scene.
  2. Add Laura's follow-up and Mike's delayed approval as timed replies.
  3. Point your agent at the world's tool URLs.
  4. Run it and read the checks on order, amounts and who saw what.

With Archal

Its environments plus your harness and evaluator.

  1. Write starting JSON for Slack, Stripe and GitHub.
  2. Create the environments and connect your agent to their URLs.
  3. Have your harness post the follow-up and the approval at the right moments.
  4. Write assertions in your evaluator using state reads and diffs.
Questions

Frequently asked questions.

What is the difference between Ancha and Archal?

Both provide stateful copies of the tools an agent calls, such as Slack, Stripe and GitHub. Archal provides the environments and leaves the rest of the test to your harness and evaluator. Ancha also runs the people and the clock in a scenario and checks what the agent did, so testing an approval or a follow-up needs no extra code.

Can I use Ancha with my own test harness?

Yes. Start a world from the CLI, point your agent at its tool URLs, and read the checks when the run ends. You can also register an agent and let Ancha run repeated attempts.

Does Ancha support MCP?

Yes. Since version 0.1.5, the Slack, GitHub, PagerDuty and Datadog twins are available as MCP endpoints, and ancha mcp config prints the settings for Claude Code, the Claude Agent SDK and the OpenAI Agents SDK.

Can Ancha simulate an approval that arrives hours later?

Yes. People in a scenario reply at a set time or when a condition is met. The clock is simulated, so a two-hour wait takes seconds.

Does Archal check whether my agent passed?

Archal’s documentation says it does not replace your agent harness, model, evaluator, observability tool or CI system. It gives you state reads and diffs, and your evaluator decides pass or fail.

How do I try Ancha?

Install the CLI with npm i -g @ancha-labs/cli to run worlds on your machine, or book a demo for a hosted workspace.

Sources

Where these details come from.

Find out what your agent does before production.