Stitch 2.0 is out. If you have been following the series, the short version is: everything you read in the retros just landed.
If you have not, this post is the standalone summary. What Stitch is now, what is different from v1, and how to try it in the next thirty seconds.
What Stitch 2.0 is
A command-line tool that runs on your laptop. It reads the CI configuration already in your repository, parses the jobs you have defined, and runs the verify jobs (lint, typecheck, test, build) locally in seconds. When a job fails, Stitch hands the failure to an AI agent (Claude Code or Codex) that you already have installed. The agent fixes the problem. Stitch re-runs the job. If it passes, you are done.
One command to install and run:
npx stitch-agent run claude
No API keys. No Docker image. No new pipeline jobs. No configuration file required. The CI you already have, running on the machine you already work on, with the agent already open on your screen.
What changed from v1
The short list, for the people who used Stitch v1 and are wondering what broke:
- Language. v1 was Python, distributed on PyPI. v2 is TypeScript, distributed on npm. The package name is still
stitch-agent. - Execution model. v1 ran as a CI job triggered by pipeline failure. v2 runs locally from your terminal. The pipeline stays untouched.
- Agent integration. v1 talked to models over an API, using keys you provided. v2 delegates to your already-installed Claude Code or Codex and uses your existing subscription.
- Config surface. v1 required you to add two jobs (
stitch-monitor,stitch-heal) to your CI YAML. v2 requires no changes to your CI at all. - Error classification. v1 had a 150-pattern regex engine that sorted errors into nine categories. v2 has none of that. The agent handles diagnosis directly.
- Auto-merge. v1 had a flag for it. v2 does auto-commit + push only on clean branches and only if you pass
--auto-commit. Off by default. - Interactive TUI. v1 output was a CI log. v2 has a live terminal UI with a pipeline stepper, job status table, and driver panel.
- Watch mode. New in v2. Re-verifies affected jobs on file save.
Why a full rewrite and not a migration? Because most of these changes are not features, they are shape. A library that is meant to run inside a CI environment is structured differently from a CLI that is meant to run next to your editor. Trying to reshape v1 into v2 would have been slower than writing v2 from scratch. We tried the slow way first. The previous posts in this series explain how we got to that decision.
Who this is for
The profile we had in mind while rewriting:
- You work on one or more repositories with a CI pipeline.
- CI breaks for trivial reasons often enough that you notice.
- You already use Claude Code, Codex, or another AI CLI agent day to day.
- You would rather not wait for a remote pipeline round trip to learn you forgot a semicolon.
If that is you, Stitch 2.0 is a single command away.
What is next
Stitch 2.0 is the first release of the local-first shape. The roadmap from here is shorter and simpler than v1’s, and that is intentional. The things we want to add next:
- More CI platforms. GitLab CI and GitHub Actions are supported today. CircleCI, Drone, and self-hosted runners are next.
- More agents. Claude Code and Codex are the current drivers. Adding additional CLI-based agents is a small pattern match.
- Better job inference. The heuristic for classifying verify vs infra jobs is good but not perfect. Edge cases on exotic pipelines need more work.
- Team sharing. Not a dashboard, not a service. Just a way to share a
.stitch.ymlpolicy across a repo without each developer rediscovering it.
The things we are deliberately not adding are also worth naming. No hosted service. No account. No telemetry. No training on your code. If that changes, it will be a separate product with a separate name.
Try it
npx stitch-agent run claude
If you have ten minutes and a failing pipeline, that is enough. The repository is at github.com/x24labs/stitch-agent. Issues are open. Contributions are welcome.
Thanks for reading the series. The honest answer to “why did this take a rewrite” is that the right shape was not available to us until we watched the wrong shape ship. v2 is the version we wanted to build all along. We just had to build v1 first to know it.