StackMap
Subscribe
Explore / OrcaReplay
Continuum-AI-Corp

OrcaReplay

Time travel for coding agents: a local proxy records any run (Claude Code, Codex, SDKs, even TLS-only harnesses), replays it byte-for-byte offline, and forks from any step onto a different model.

214 66 TypeScript Apache-2.0updated yesterday
View on GitHubDispute this mapping →
Curator's take

This is the debugger, not the dashboard: `orca record claude` captures the full loop below the agent (requests, streamed responses, tool calls, shell exit codes, file writes), `orca replay last` reproduces it with zero tokens, and `--from N --model X` makes the model the only variable so A/B comparisons actually mean something. Use it to answer 'why did it delete my migration' and to benchmark models on a real run. Skip it for cost/latency observability (failproofai, numbat, agentsight do that) or for agents you can't put behind a proxy or TLS intercept. Small and young (~200 stars); the trace spec is CC-BY, the default endpoint is the maintainers' OrcaRouter — swap it if that matters.

Mapped by ShipWithAI editors · links verified

Continue your stack

What teams reach for next — and why each earns a place beside OrcaReplay. Ranked by curator confidence.

pairs wellpairs wellalternativealternativealternativeaimockagent-flowshepherdfailproofaiagentsightOrcaReplay
pairs wellalternativebuilt withpick a node for the why · open it from the panel
Weekly digest
README.md2 min read

OrcaReplay

English · 简体中文 · 日本語 · 한국어 · Deutsch · Français · Español · العربية

Your agent broke something at 2am. Replay it at 9am — exactly, offline, as many times as you like.

Record any coding agent. Reproduce the run byte-for-byte with no model called. Fork it from any step onto a different model and see who gets it right.

OrcaRouter

Built by the team behind OrcaRouter — one API key and one endpoint for Claude, GPT, Gemini, Grok, DeepSeek, Qwen and the rest. It is what orca setup points at by default, and what makes orca compare a single command instead of four provider accounts.

Find us: OrcaRouter All model APIs

Github Repos: OrcaCode Review · OrcaRouter Lite

Connect: X · Discord · Hugging Face · Ollama


License Spec Node Agents Good first issues Mentioned in Awesome Claude Code

Recording a Claude Code run, replaying it offline, then forking it onto two models

Real output from one session — a Claude Code run recorded, replayed against the recording, then forked at checkpoint 4 onto two models and graded by npx tsc --noEmit. Nothing here is mocked up.

Try it in three commands

orca record claude              # your agent, unmodified, doing whatever it does
orca replay last                # the same run again — no network, no tokens, no charge
orca replay last --from 4 --model claude-haiku-4-5 --ui

The third line is the one people stay for: same files, same conversation prefix, different model from step 4 onward. The model is the only variable, which is what makes the answer mean anything.

npm i -g orcareplay

The three commands at the top need an agent installed, a key, a network and real tokens. If you have none of those yet, one command brings its own:

orca quickstart

It writes a small project with a genuine bug in it and a recording of an agent fixing that bug, then replays the recording against the project with no model called: two failing tests before, four passing after, three turns served from the trace and nothing spent. --full prints the whole timeline and the replay as it happened.

Read your agent's own system prompt

A proxy that sees the whole loop also sees the prompt the harness assembled before it sent anything. One command captures it, scrubs the machine out of it, and files it by model:

node capture/capture.mjs claude --model claude-opus-5

Interactive prompts and -p prompts are not the same prompt, and neither is the same across models. See capture/README.md for the measured differences, the pitfalls, and the sanitising rules.

Why this exists

Agent debugging today is archaeology. You scroll a terminal, you re-run and get a different failure, you add print st