Skip to Content
SimulatorsAnthropic changelog

Simulators

Anthropic changelog

What changed in each Anthropic simulator release, newest first.

v0.0.5 — 2026-11-06

  1. 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

  1. 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

  1. 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.

  2. 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.effort as {"type": "medium"} only for a model whose catalog entry supports effort, as the real API does. An agent on claude-haiku-4-5-20251001 answers its model as id and speed alone.

  3. The call log shows what each call asked for and whether it succeeded. Each GET /_rystic/calls entry now carries args, the call’s query and body arguments with credentials redacted (long values cut, file contents left out), and ok, false for an answer that is not 2xx. A path the simulator does not serve is marked unknown_route: true. ?tail=N returns only the last N calls, and dropped counts the calls the log no longer keeps.

  4. The docs are one page, with a page per feature. The archive ships README.md in place of HOWTO.md and SCENARIOS.md, with the same sections in the same order as every Rystic simulator’s page, and CHANGELOG.md beside it. Messages and streaming, agent loops, message batches, files, skills and Managed Agents each have their own page under docs/features/, and every example on these pages runs as written against a fresh simulator.

  5. The docs page links the admin token section. The page now sends you to the admin token’s section of the shared-simulators page.

  6. 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.

  7. 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.

  8. 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.

  9. 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”.

  10. The page has no Plans section. The Quickstart names the plans that run the simulator, and the pricing page lists what each plan includes.

  11. 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_choice makes 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

  1. Tool calls, streaming and scripted replies: run an agent loop against the twin. A tool_choice that forces a call answers a tool_use block whose input the tool’s input_schema accepts, tool_result turns are taken back, and tool definitions, tool_choice and tool turns are refused with the API’s 400 messages. stream: true answers the same message as server-sent events, so messages.stream() works. A test scripts what the model says turn by turn through POST /_rystic/replies or a scenario’s replies, and a reset replays the script with the same ids and usage.

  2. A scenario that drives an agent loop. anthropic_agent_loop ships a three-reply script for a loop declaring get_weather and search_help: the model calls each tool, then answers in text, so a loop on messages.stream() runs to its end against the twin on the first call and replays identically after a reset.

v0.0.1 — 2026-10-31

  1. 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.md shows how) or curl it with any API key, in x-api-key or as Authorization: Bearer; no Anthropic account is involved, nothing reaches Anthropic and no tokens are billed.

  2. Messages, token counting and models, without a model. POST /v1/messages answers an assistant message with its id, content, stop_reason and usage from any model the account’s model table lists, and any other model answers 404 not_found_error; the reply’s text is the twin’s own and does not follow the prompt, and it stops at max_tokens with stop_reason: "max_tokens". Requests are checked as the API checks them: a missing, empty or unknown anthropic-version, a body that is not valid JSON, a missing model, messages or max_tokens and an empty messages list each answer 400 with the API’s message. GET /v1/models lists 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 as claude-sonnet-4-5 names its dated model on models get, messages create and POST /v1/messages/count_tokens, which answers input_tokens.

  3. Files. POST /v1/files takes a multipart upload with an optional expires_in_seconds, and files are listed, read and deleted. A file you upload is not downloadable, as on the API: its /content answers 400 file_not_downloadable, while a scenario’s downloadable files answer their bytes.

  4. 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 as application/x-jsonl, one line per custom_id. Deleting a batch still in progress answers 400. A batch you create stays in_progress until you cancel it, so anthropic_batch_queue and anthropic_batch_archive ship ended batches with succeeded, errored and expired results to read.

  5. Skills and their versions. POST /v1/skills creates a skill from files[] parts with a SKILL.md at their root, named by a display_title field or the SKILL.md frontmatter name; new versions become latest_version_id, and skills and versions are listed, read and deleted.

  6. 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=true query parameter the SDKs send. An archived agent or environment leaves its list unless include_archived=true. No agent runs: a session records the events you send.

  7. 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) and anthropic_fresh_workspace (the model table alone), each listing the API’s 14 models and claude-opus-4-1-20250805. --scenario boots one, POST /_rystic/scenario loads one without a restart and SCENARIOS.md describes each. Every scenario reads the way the API answers: an instant or URL the API leaves unset reads null, 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.

  8. 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.md states the differences this release ships with: stream: true answers 501, not server-sent events; most error answers carry a null request_id; two different API keys in x-api-key and Authorization: Bearer are 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.

Last updated on