Skip to main content
NewSpecWithCode Browser: let Claude Code, Codex, GitHub Copilot or Grok use your own Chrome

Switch AI tools without losing your place.

SpecWeave writes the plan and every finished task into git, so Claude Code, Codex or any other agent can pick up the same work. SpecWithCode (pronounced “Spec with Code”) runs those agents on your own machines and subscriptions.

Both free. The app runs on Apple silicon Macs with macOS 13 or later, Windows 10 and 11, and Linux: download SpecWithCode.

npm install -g specweave
The open-source CLI: MIT licensed, local first, no account.
SpecWithCodetrip-budget
The whole SpecWithCode window: the trip-budget project in the sidebar, the Claude Code coordinator reporting that both changes are done and all 23 tests pass, and the Threads pane with a Claude Code worker and a Codex worker running and seven finished threadsThe whole SpecWithCode window: the trip-budget project in the sidebar, the Claude Code coordinator reporting that both changes are done and all 23 tests pass, and the Threads pane with a Claude Code worker and a Codex worker running and seven finished threads
Crop of the coordinator report: tests, 23 passed in 0.09sCrop of the coordinator report: tests, 23 passed in 0.09s
Crop of the Threads pane: Working 2, README docs for --json and --people on Claude Code Opus 5.5, and split.py --people option on Codex GPT-6.1-SolCrop of the Threads pane: Working 2, README docs for --json and --people on Claude Code Opus 5.5, and split.py --people option on Codex GPT-6.1-SolThreads pane · 27 Oct 2026
Crop of a coordinator message: Write tip.py CLI, approval requested, and README usage for tip.py, working, each with View threadWorkers in parallel · 15 Oct 2026
Crop of Usage and limits: Claude session, 2% leftUsage limit · 10 Oct 2026
Real captures, cropped. A Claude Code coordinator reports back while a Claude Code worker and a Codex worker run in the Threads pane. SpecWithCode 1.0.103, 27 October 2026. Floating crops: the same window and SpecWithCode recordings of 15 and 10 October 2026. View full sizeView full size

Works withClaude CodeCodexCursorGemini CLIGitHub Copilot CLIGrokOpenCodeMuse CodeAntigravityPi

One record in git, three ways to work with it

SpecWeave keeps the plan and the evidence in your repository. SpecWithCode runs agents against that record on your machines. Verified Skill gives those agents skills you can check first.

  1. $ specweave pickup
    Picked up the handoff from claude@cloud (out of tokens): applied 7 uncommitted files.
    SpecWeave pickup · you are codex@laptop
    Increment 0001-resumable-checkout "Resumable checkout" (active) · tasks 1/2 done
    Next: T-02 Restore the draft on return
      AC-01: Returning within 24 hours restores the cart and shipping choice
      AC-02: A paid order is never restored
    Real output · specweave 3.1.0

    SpecWeave CLI

    Open source on npm, MIT. Version 3.1.0, 17 October 2026.

    Writes the spec, the task ledger and the test evidence into your repository, and hands the work to the next tool with specweave handoff. Start here if you work in a terminal with Claude Code, Codex or any agent that reads files.

    npm install -g specweave
    Then run specweave init in your project.
    How the CLI works
  2. Illustration

    Verified Skill

    Free to browse at verified-skill.com.

    A registry of agent skills. Each shows its source and its security scan, and its evaluation when one exists, so you know what you install before your agents use it.

    What every skill page shows
    Source
    The repository the skill comes from, so you can read it first.
    Security scan
    What the scan of every file found, before you install it.
    Evaluation, when one exists
    Whether the skill helped on a real task. Not every skill has one yet.
    Explore skills on verified-skill.com

When Claude Code hits its limit, Codex picks up the same task

The handoff carries the spec, the claims and the evidence. Nothing lives only in a chat window.

Illustration
  1. The spec

    What done means, written once before any agent starts. spec.md

    ## Acceptance Criteria
    - [ ] AC-01: Returning within 24 hours restores the cart and shipping choice
    - [ ] AC-02: A paid order is never restored
    
    ### T-01 Save the cart as a draft
    - AC: AC-01 | Files: src/draft.js | Test: npm test
    
    ### T-02 Restore the draft on return
    - AC: AC-01, AC-02 | Files: src/restore.js | Test: npm test
  2. The agents

    Any tool that can read the files claims a task, proves it and moves on.

    1. specweave task claim T-01

      Claude Code takes the first open task. The claim is a line in the ledger, so no other agent takes it too.

    2. specweave task done T-01 --run "npm test"

      Runs the task’s test. Exit 0 is the evidence, and the full output is saved in reports/task-T-01.txt.

    3. specweave task claim T-02

      Claude Code claims T-02 and hits its usage limit halfway through.

      Usage limit
  3. The ledger in git

    Every claim, finish and release is one line, committed with the code. ledger.jsonl

    {"t":"T-01","e":"claim","by":"claude@cloud","at":"2026-10-15T14:02:11Z"}
    {"t":"T-01","e":"done","by":"claude@cloud","at":"2026-10-15T14:31:40Z","evidence":"a41c9e2"}
    {"t":"T-02","e":"claim","by":"claude@cloud","at":"2026-10-15T14:32:05Z"}
    {"t":"T-02","e":"release","by":"claude@cloud","at":"2026-10-15T14:58:47Z","note":"handoff"}
    {"t":"*","e":"handoff","by":"claude@cloud","at":"2026-10-15T14:58:47Z","note":"usage limit"}
    {"t":"T-02","e":"claim","by":"codex@laptop","at":"2026-10-15T15:04:19Z"}
    {"t":"T-02","e":"done","by":"codex@laptop","at":"2026-10-15T15:22:51Z","evidence":"npm test → exit 0\nlog: .specweave/increments/0001-resumable-checkout/reports/task-T-02.txt\nHEAD 7d03b1f"}
  4. The handoff

    Another tool continues from the same files, not from a chat window.

    claude@cloud hands T-02 to codex@laptop

    1. specweave handoff

      Releases the claim, writes handoff.md with what is next and pushes a snapshot to specweave-handoff and wip/<branch>.

    2. specweave pickup

      In Codex: fetches the handoff, applies the edits and prints T-02 with its two criteria.

    3. specweave task done T-02 --run "npm test"

      Codex finishes T-02 against the same criteria, and the ledger cites the test output.

    4. specweave verify

      Runs test, lint and build, checks every criterion and writes reports/verify.json.

      Pass

Example increment, written in the formats specweave 3.1.0 reads: criteria as - [ ] AC-01: lines, one JSON object per ledger line. See a real pickup in How SpecWeave works.

Nothing closes without proof

Open the increment folder and you can see what was planned, who did it and what proved it.

.specweave/  increments/0001-resumable-checkout/    spec.mdthe plan and its acceptance criteria    ledger.jsonlwho claimed and finished each task    handoff.mdwhere the last agent stopped    reports/      task-T-02.txttest output the ledger cites      verify.mdtests, lint, build and criteria      verify.jsonthe closure gate      review-codex.mda review by the other model  memory/MEMORY.mdfacts every tool reads at pickup
  • specweave verifyPassRuns your test, lint and build commands, checks that every criterion in spec.md is ticked and writes reports/verify.json.
  • specweave reviewExit 3, fix firstHands the diff to a reviewer from the other model family: Codex reviews code Claude wrote, Claude reviews code Codex wrote. The report lands in reports/review-codex.md; exit 0 means ship.
  • specweave completeBlockedRefuses to close an increment without a passing verify.json. Closing anyway takes --reason, and the reason is stored with the increment.

Behaviour of specweave 3.1.0, released 17 October 2026.

Run the same work from a desktop app

SpecWithCode runs these increments as threads on your own machines and subscriptions, with one coordinator per project and workers on any provider you are signed in to.

SpecWithCodeUsage and limits
SpecWithCode Usage and limits screen: Codex weekly 10% left; Claude session 2%, weekly 54% and weekly Fable 84% left, each with its reset time
Every signed-in account’s session and weekly windows on one screen. From the SpecWithCode recording of 10 October 2026. View full size
SpecWithCodeCodex worker
Crop of a Codex worker thread: Command approval for /bin/zsh -lc "pwd; rg --files -g AGENTS.md", with Decline and Approve buttons
A Codex worker asks before it runs a command, with the provider’s own approval. Cropped from the SpecWithCode recording of 15 October 2026.

Your machines, not a cloud container

  • Runs where your code, skills and logins already are.
  • Workers keep going while your laptop sleeps, on the machine running them.
  • Each agent uses its provider’s own sign-in and approvals. There is no account with us.
  • Add a Mac mini or a Linux machine by its Tailscale name: choose Invite this machine in its Settings or run specwithcode fleet invite there, then paste the line into Add a machine under Settings, Connections on your main Mac.

One machine per subscription. Sign each machine in to one account per provider and leave it there, for example Claude Code on one account and Codex on another. Switching subscriptions by hand on the same machine causes confusion; when you need more capacity, add a machine.

Learn it in a few minutes

Narrated recordings of the real apps, with captions and chapters.

All tutorials

Built for teams of 2–10 people, free to run

Teams pay only if they want hosted skills, setup help or support.

See pricing
SpecWithCode app
Free
SpecWeave CLI
Free, MIT licensed
Seat fee
None
Connect machines
3 free, 10 for the first 1,000 founders
Markup on your AI subscriptions
None

Built with SpecWeave

  • EasyChampLeague and club tools, built across Claude Code threads, two subscriptions and Codex.
  • JobWeaveJob search, tailored resumes and interview preparation.
  • Verified SkillSkill discovery, source inspection and local evaluations.

Bring every agent, keep your place