npm install -g @ancha-labs/cli@<version>. ancha --version prints the version you have. Entries without a version describe the hosted workspace at app.ancha.io, which changes without a CLI release.
November 1, 2026
@ancha-labs/cli 0.1.4
Tests drafted from one sentence, tests that name their world, and trace checks that count only calls that worked.Added
ancha test new "<the test in one sentence>"drafts a test for the project’s world: who starts it, what ends it, and checks on what people learn, decide and are told. The draft is validated against the world before it’s written. It uses yourOPENROUTER_API_KEY, or your workspace’s model credit when you’re logged in.- Tests that name their world. A version 2 test names its world (
world: acme-support, the fileancha/worlds/acme-support.yaml) or writes it inline.ancha run,ancha world up --test,ancha check --test,ancha scene simulateandancha doctorread it. Itsdeadlineis simulated time and itstimeoutthe real time each attempt may take, whichever ends first.ancha schema testandancha schema worldprint both formats. ancha init --intent "<company and scenario>"also generates a world from the description and drafts a first test with people for it.ancha check --env <id> --check '<json>'applies check objects to a live world, for harnesses that ask what holds right now.ancha twins seed <tool>prints a tool’s seed fields, an example that validates as written, the checks and scripted events a scene can use on it, the variables the agent gets and its SDK settings.- GitHub repository collaborators and organization members, seeded with
repos[].collaborators, and the state checkgithub.permission. Okta: the state checkokta.user. PagerDuty schedule overrides. Google Drive ownership transfer within the owner’s domain. - HubSpot webhooks to the subscriptions in
hubspot.webhooks.subscriptions, signed like HubSpot’s (X-HubSpot-Signature-v3). Agents getHUBSPOT_CLIENT_SECRETto verify them.
Changed
calledcounts only calls that worked: a status below 400, not a coverage gap, no Slackok: falseand no GraphQL answer with onlyerrors. Addstatus: anyto count every attempt.not_calledstill counts every attempt.- The world plays out after the agent exits. When a command agent exits on its own before the scene’s last timed actor, the world runs to that actor, never past the timeout, before the checks are graded. People stop acting at the exit.
- Google clients with a client-level
rootUrlreach the replica: a call without/e/{envId}/{service}is routed by its bearer token. - When an agent crashes, the run summary quotes the end of its log. If the log names a variable your shell has but the agent didn’t get, it names the
--pass-envthat passes it. The value is never printed. - Without
--json,ancha runandancha logsprint one line per finished trial, and a run’s first line says where the worlds run and what the agent can reach. - Scene, test and world files reject text that YAML cut at an unquoted
#, and name the line and the quoted fix. ancha initrecognizes the official clients of 24 tools and seeds every tool the project uses in the starter scene.ancha agent detectreads the current folder when--cwdis left out.
November 1, 2026
app.ancha.io
- While the workspace machine sleeps, the console keeps its navigation and lists your worlds and agents as the machine last listed them, with the time. Opening one still starts the workspace.
October 31, 2026
@ancha-labs/cli 0.1.3
Eight tools, results in your workspace, and where a signed-in run puts its worlds.Added
- Eight tools. Twilio, Google Calendar, Intercom, Zendesk, Asana, Discord, Sentry and Airtable (keys
twilio,google-calendar,intercom,zendesk,asana,discord,sentryandairtable), 38 replicas in all.ancha twinslists them andancha twins coverage <key>lists each one’s endpoints. See Tools. - Results in your workspace.
ancha run --upload(orANCHA_UPLOAD=1) andancha runs upload <run id | latest>send a finished run to your workspace, where the console shows it athttps://app.ancha.io/runs/<run id>and Delete run removes it. The upload holds the summary, the inputs and each attempt’s log (its last 4 MB), calls, final state, checks and explanations; the values of--pass-env,--inherit-envand.ancha/openrouter.envvariables are redacted first. A failed upload is a warning unless--upload-required. The JSONrun_finishedevent carriesupload. In CI:ANCHA_SERVER_URLandANCHA_API_KEYwithancha run --local --upload. See Results in your workspace. ancha run --on local|docker|cloud: a process on this computer, the sealed containerancha.yamldescribes (never a fallback to a process), or your workspace.--on clouduploads this project, registers its agent (or updates it), connects it there and runs each test there as its own run, streaming the progress. Running your own agent in the workspace is in private beta. Seeancha run.ancha runs list|show|startandancha attempt show: the runs a workspace holds, with their grade and queue position;runs start --agent <id> --test <file>runs one test with a saved agent, and in a hosted workspace its console runs it, so a dropped connection does not stop the run. Seeancha runs.
Changed
- A signed-in
ancha runkeeps its worlds on this computer, as dodoctor,world up,envandsandbox. The login names your workspace for--upload,ancha secretsand the commands that work on the workspace’s agents, worlds, tests and runs.--server-url,server.url,ANCHA_SERVER_URLorancha world up --on cloudput the worlds in the workspace. The first line of a signed-in run readsrunning locally (worlds in a server this command starts; logged in to https://app.ancha.io/t/<workspace>: --upload sends the results there), andancha whoami --jsonreportsworlds. See CLI overview. - With a hosted workspace,
ancha agent(exceptagent detect),ancha world list|show|create|update|archive,ancha testandancha runswork on that workspace, the same agents, worlds, tests and runs the console shows, and every JSON object they print names itsworkspace.--localkeeps a command on this project’s.ancha/.ancha agent add|update --cwd <dir>uploads the folder first: the files git tracks or would add, without.anchaignorepatterns, hidden files, dependencies or credential-like files, at most 200 MB.
October 31, 2026
app.ancha.io
- Running your own agent in the workspace is in private beta. Bring your agent, Connect agent and the
ancha agentcommands that reach the workspace are refused withhosted runs of your own agent are in private beta for this workspaceuntil a workspace has access. Settings has a Hosted runs section with a request form. The sample agent and its runs, worlds, sandboxes, scenarios, tools, secrets andancha runfrom your computer against hosted worlds are unchanged. See Hosted workspace. - Monthly hours. A workspace has 10 hours of machine time a month, and Settings shows the hours used. When they are used up, the console shows a banner, the workspace keeps its data, and the machine can start again on the 1st.
ancha runon your computer is not limited. - The console is a view. It opens while the workspace machine is asleep. The Runs page lists the runs the workspace ran, each at
https://app.ancha.io/runs/<run id>. Start workspace starts the machine, as does a call to one of its worlds from the CLI; opening the console no longer does, and a new workspace gets its machine the first time you start it.
October 31, 2026
@ancha-labs/cli 0.1.2
Eighteen new tools, a world lifecycle for your own harness, generated worlds, people in the world with process checks, and fixes from a fresh-user test of 0.1.1 run the way a coding agent would.Added
- Eighteen tools. Gmail, Google Drive, Microsoft Word, Notion, Dropbox, Resend, Better Stack, Linear, Jira, Okta, Amazon S3, Clerk, Attio, Stripe, PayPal, Shopify, Lob and Kalshi, thirty replicas in all.
ancha connect <tool>prints a snippet for every tool, including Open-Meteo. The Slack replica adds direct messages with the bot (conversations.open, 22 methods) and the GitHub replica adds labels (71 endpoints) andissuesevents. See Tools. - Where the worlds run. The first line of
ancha run,ancha doctorandancha world upsays it, for examplerunning on hosted https://app.ancha.io/t/<workspace> (from ancha login; --local to run here), and run JSON carriesworkspaceandtarget.--localkeeps any command on this computer.ancha whoami [--verify]shows which workspace commands use and where that choice came from, and never prints a key. Seeancha whoami. - World lifecycle.
ancha world upstarts a fresh world for your own harness and prints its tools’ URLs and fake credentials,ancha check --env <id>grades it with the same checks and exit codes asancha run, andancha world state,traceanddowninspect and remove it. See World lifecycle. - Generated worlds.
ancha world gen "<description>"writes a world file, with a company, its people and the history in its tools, toancha/worlds/<id>.yaml, plus its variants and a record of the generation. It calls a model and needsOPENROUTER_API_KEY;--idempotency-keymakes a retry reuse the first result. Seeancha world gen. - People and process checks. A scene can hold people who answer the agent through the tools, hold facts until asked and decide by rule. The checks
revealed,knows,told,decided,message,never,beforeandwithinread what the engine recorded. New: thegithub.issuestate check, theissue_labeledpredicate,whenon a person’s fact,starts_whenon a fault, labels and authors in GitHub seeds, andagent.input: per_eventfor agents that wait for people. See Checks reference and Test file. - For scripts and coding agents.
ancha schema [kind]prints the JSON Schema ofancha.yaml, scene files and therun_started,run_finished,explain,world_up,checkand error outputs.ancha run --idempotency-key <key>makes a retry return the original run.ancha logs <run> --followstreams a run’s events and exits with its exit code.ancha completion bash|zsh|fishprints a completion script.ANCHA_JSON=1acts as--jsoneverywhere.ancha --helpis one page andancha advancedlists the rest.anchaalone prints where to start, andancha runwithoutancha.yamlsays to runancha init. ancha inittakes the start command frompackage.json, a Procfile,pyproject.tomlor the Dockerfile, writes a starter scene for the tools your dependencies use, writes only the.mjsreference companions, adds.ancha/to.gitignore, and ends withnext: ancha run.ancha run,ancha explainandancha doctorend withnext: <exact command>and carrynextin JSON. Seeancha init.- Per-check comparison.
ancha run --comparecompares every required check: a check whose pass rate falls regresses the run (exit 1) even when the scene’s rate holds, andcomparison.droppedCheckslists it first.ancha doctorshows the end of a failing agent’s output and the CLI’s own version.ancha explainlists coverage gaps without--strict. - Agent names are unique per workspace: adding the same agent again returns it, and a different agent with the same name is refused. Container execution (
agent.execution) is documented inancha docs run.
Changed
- The agent’s environment.
ancha run,ancha doctorandancha scene simulateno longer hand a local agent your whole shell. It gets a base set (PATH,HOME, locale, CA files,TMPDIR, virtual-environment paths), Ancha’s variables and the tools’ variables. Name anything else inagent.pass_envinancha.yamlor with--pass-env NAME.--inherit-envrestores the old behavior and prints a warning. The run summary says what the agent got. Seeancha run. - Agents no longer receive
ANCHA_WORLD_SEED, and{{world.seed}}is gone fromagent.envtemplates. - A hosted server that rejects or needs the API key gives
AUTH_INVALID(exit 2) with a hint to runancha login, instead ofSERVER_UNREACHABLE(exit 3). See Errors. ancha doctorexits 0 when only warnings remain;okis false only when a check failed.ancha docslists its topics first,--jsonincludestopics, and there is a newcloudtopic. The bundled docs are written for installed users.- Starter data 1.1.0. The fictional company is Acme, its customer Ridgeway Robotics, and its repositories
acme/orders,acme/webandacme/warehouse-sync; 0.1.1 called them Northstar Analytics, Acme Robotics andnorthstar/orders. Refs such as$slack_supportand$github_ordersare unchanged. Every tool has more history, and Open-Meteo has ten places. See Worlds. - The local playground tool image is tagged per installed runtime (
ancha-world:<hash>), so projects on different versions never overwrite each other’s image. Runancha execution prepareonce after upgrading;ancha execution doctor --jsonreportsworldImageandworldImageReady.
Fixed
- The starter scene’s checks accept any HTTP method (
* /api/*.*for Slack): the official Slack SDK POSTs. The shipped examples use*for Slack methods too. /_ancha/healthreports the installed version instead of0.0.0.- Piping a command into a reader that stops early (
ancha run | head -1) no longer crashes with an EPIPE stack trace: the command finishes, cleans up and exits with its own code. - An agent run in a container no longer finds
ancha.yaml,ancha/, scene folders or the run’s scene files in its/workspace, so it cannot read the checks it is graded by.agent.execution.filescannot select them either. - No hint or document tells you to run a package manager other than npm, and the npm page is a user README.
- A missing or mismatched native SQLite binary (an install whose scripts npm skipped) stops with the exact reinstall command instead of a list of paths.
- The skill that
ancha initwrites and the one the console’s Help page downloads are the same file.
October 31, 2026
@ancha-labs/cli 0.1.1
- Open-Meteo. A twelfth tool: weather forecasts and place search for six seeded places, with no API key. See Open-Meteo.
- Graded playground tasks. Playground task files accept
stateandtracechecks, up to 20 per task. Attempts with checks are graded passed or failed; tasks without checks stay ungraded. Seeancha playground. - One cast across the starter data. Every tool’s starter data now uses the same Northstar Analytics people and records as the hosted workspace: Ben Carter, Rachel Moore and Mike Turner at Northstar, and Erin Walsh at Acme Robotics. See Worlds.
- Starter scene works with hosted worlds. The starter scene’s reference companion accepts tool URLs from a hosted world server, so the starter runs after
ancha loginas well as locally.
October 30, 2026
@ancha-labs/cli 0.1.0
The first public release on npm.- Eleven tools: Slack, GitHub, Datadog, PagerDuty, HubSpot, Salesforce, Gong, Google Analytics, Google Ads, LinkedIn Ads and ChatGPT Ads, each a stateful replica of a documented API subset with fictional starter data.
- The test loop:
ancha init,doctor,run,explain,reportandbaseline, withrun --compareto prove a fix andrun --detachwithstatusandwaitfor long runs. - Checks: state checks for Slack, GitHub, Datadog and PagerDuty, trace checks for every tool, and model-graded judge checks.
- Hosted workspace from the CLI:
ancha login,logoutandsecrets, and runs against hosted worlds withANCHA_SERVER_URLandANCHA_API_KEY. - Exploring and integrating: sandboxes, environments, a Slack MCP server,
ancha connectSDK snippets and the local console. - Agents and playgrounds: saved agent profiles, versioned worlds, and container playground runs with saved tests.
- For automation:
--jsonon every command and stable exit codes from0to4.