Simulators
Anthropic changelog
What changed in each Anthropic simulator release, newest first.
v0.0.5 — 2026-11-06
- The page gains an Errors and limits section. It shows the error envelope and the statuses beyond 400 and 404, that the simulator applies no rate limits, how each list pages and that a retried request runs again.
v0.0.4 — 2026-11-06
- The docs name what is particular to the one workspace and seed a skill by its id. The limitations say what a workspace holds, and the seeding example names the route that reads the skill back.
v0.0.3 — 2026-11-05
-
A slow client no longer holds up the others. The simulator reads a request’s whole body before it starts serving it and sends the answer after, so a client that uploads slowly, or reads a large answer slowly, no longer delays other clients’ requests. Answers are unchanged; one larger than 4 MiB still makes other requests wait while it is sent.
-
An agent’s model carries an effort setting only when the model supports effort. Creating, updating or reading a Managed Agents agent, and starting a session from one, answers
model.effortas{"type": "medium"}only for a model whose catalog entry supports effort, as the real API does. An agent onclaude-haiku-4-5-20251001answers its model asidandspeedalone. -
The call log shows what each call asked for and whether it succeeded. Each
GET /_rystic/callsentry now carriesargs, the call’s query and body arguments with credentials redacted (long values cut, file contents left out), andok, false for an answer that is not 2xx. A path the simulator does not serve is markedunknown_route: true.?tail=Nreturns only the last N calls, anddroppedcounts the calls the log no longer keeps. -
The docs are one page, with a page per feature. The archive ships
README.mdin place ofHOWTO.mdandSCENARIOS.md, with the same sections in the same order as every Rystic simulator’s page, andCHANGELOG.mdbeside it. Messages and streaming, agent loops, message batches, files, skills and Managed Agents each have their own page underdocs/features/, and every example on these pages runs as written against a fresh simulator. -
The docs page links the admin token section. The page now sends you to the admin token’s section of the shared-simulators page.
-
Placeholders in the docs show on the site. A placeholder such as
<id>in the docs now shows on the site, where it was left out. -
The Scenarios table is easier to scan. Each row says in a line what the scenario is for, and a list below the table says what each scenario holds.
-
Pro starts with a 14-day trial. Free has ended, so every simulator is on Pro and Enterprise, and the docs name only those plans.
-
Limitations is shorter to read. It opens with the known issues and one sentence counting the rest. The detailed lists follow, and the website folds them behind “Show all limitations”.
-
The page has no Plans section. The Quickstart names the plans that run the simulator, and the pricing page lists what each plan includes.
-
The docs read more plainly, and each difference from the Claude API is marked. Sentences are shorter, and each behavior that differs from the Claude API, such as how a stream arrives or a batch that never finishes by itself, is marked “Differs from the Claude API” where it’s described. Rules with several outcomes, such as what a missing key or beta header returns and what
tool_choicemakes a reply hold, are tables. The main page keeps only the simulator’s own facts on auth, seeding and reset, and links the shared pages for the rest.
v0.0.2 — 2026-11-01
-
Tool calls, streaming and scripted replies: run an agent loop against the twin. A
tool_choicethat forces a call answers atool_useblock whoseinputthe tool’sinput_schemaaccepts,tool_resultturns are taken back, and tool definitions,tool_choiceand tool turns are refused with the API’s 400 messages.stream: trueanswers the same message as server-sent events, somessages.stream()works. A test scripts what the model says turn by turn throughPOST /_rystic/repliesor a scenario’sreplies, and a reset replays the script with the same ids and usage. -
A scenario that drives an agent loop.
anthropic_agent_loopships a three-reply script for a loop declaringget_weatherandsearch_help: the model calls each tool, then answers in text, so a loop onmessages.stream()runs to its end against the twin on the first call and replays identically after a reset.
v0.0.1 — 2026-10-31
-
A local Claude API for the code and agents around the model. The first release of the Anthropic twin: Messages and token counting, models, files, message batches, skills and the Managed Agents beta, answered on
api.anthropic.com’s paths on one port, from a model validated against the live Claude API. Point Anthropic’s Python or TypeScript SDK at it by its base URL alone (HOWTO.mdshows how) or curl it with any API key, inx-api-keyor asAuthorization: Bearer; no Anthropic account is involved, nothing reaches Anthropic and no tokens are billed. -
Messages, token counting and models, without a model.
POST /v1/messagesanswers an assistant message with itsid,content,stop_reasonandusagefrom any model the account’s model table lists, and any other model answers 404not_found_error; the reply’s text is the twin’s own and does not follow the prompt, and it stops atmax_tokenswithstop_reason: "max_tokens". Requests are checked as the API checks them: a missing, empty or unknownanthropic-version, a body that is not valid JSON, a missingmodel,messagesormax_tokensand an emptymessageslist each answer 400 with the API’s message.GET /v1/modelslists the API’s 14 current models, newest first, each with its capabilities in the API’s shape and its token limits, and an alias such asclaude-sonnet-4-5names its dated model on models get, messages create andPOST /v1/messages/count_tokens, which answersinput_tokens. -
Files.
POST /v1/filestakes a multipart upload with an optionalexpires_in_seconds, and files are listed, read and deleted. A file you upload is not downloadable, as on the API: its/contentanswers 400file_not_downloadable, while a scenario’s downloadable files answer their bytes. -
Message batches. Create, list, read, cancel and delete batches with their
request_counts; a cancel ends the batch at once, and an ended batch’s results read back asapplication/x-jsonl, one line percustom_id. Deleting a batch still in progress answers 400. A batch you create staysin_progressuntil you cancel it, soanthropic_batch_queueandanthropic_batch_archiveship ended batches with succeeded, errored and expired results to read. -
Skills and their versions.
POST /v1/skillscreates a skill fromfiles[]parts with aSKILL.mdat their root, named by adisplay_titlefield or the SKILL.md frontmattername; new versions becomelatest_version_id, and skills and versions are listed, read and deleted. -
The Managed Agents beta. Under
anthropic-beta: managed-agents-2026-04-01: agents are created, read, updated into new versions and archived; environments, sessions, vaults and their credentials and memory stores are created, read, updated, archived and deleted; a session’s events are sent and listed and its resources managed; a memory store’s memories are written, read and deleted, with each change kept as a memory version. Every route takes the?beta=truequery parameter the SDKs send. An archived agent or environment leaves its list unlessinclude_archived=true. No agent runs: a session records the events you send. -
Five accounts to boot straight into.
anthropic_skill_library(three skills with six versions),anthropic_batch_queue(batches in progress, canceling and ended),anthropic_batch_archive(three ended batches),anthropic_file_vault(four files, three downloadable) andanthropic_fresh_workspace(the model table alone), each listing the API’s 14 models andclaude-opus-4-1-20250805.--scenarioboots one,POST /_rystic/scenarioloads one without a restart andSCENARIOS.mddescribes each. Every scenario reads the way the API answers: an instant or URL the API leaves unset readsnull, and a batch expires 24 hours after it was created. Without a scenario, the twin boots an empty account holding the API’s 14 models. -
Measured against the live Claude API. The newest full-suite round, of 2026-10-31 (
20261031T052431Z), matched 458 of the suite’s 476 tests (96.2%), none inconclusive.HOWTO.mdstates the differences this release ships with:stream: trueanswers 501, not server-sent events; most error answers carry a nullrequest_id; two different API keys inx-api-keyandAuthorization: Bearerare accepted, where the API refuses them; and a request without a key is refused before its path is checked, where on some routes the API checks the path first.