Skip to main content
SpecWithCode Free, in early access

Every AI agent.
One workspace.

Projects like Claude Code. A personal agent like Dots or Hermes. Coding agents from Anthropic, OpenAI, xAI, Google, GitHub and Cursor. SpecWithCode runs them as one project on machines you own, gives each job the model that fits, and keeps the record in git so any agent can carry on.

npm install -g specweave
The open-source CLI SpecWithCode builds on. MIT, local first, no account.
Illustration. Task names, models and machines are examples; your providers and machines decide what is available.
Works with
Claude CodeClaude Code ProjectsCodexGrok BuildCursorGemini CLIGitHub CopilotOpenCode
One workspace, any provider ↗
01 / The umbrella

Many agents.
One place to run them.

Every lab now ships a project agent, a personal agent and a coding agent, each in its own app and its own cloud. SpecWithCode gives you all three kinds in one workspace on your machines and runs every lab’s coding agent side by side, so each job gets the model that fits it, not the one from the app you happen to have open.

Project agents
Claude Code ProjectsCodex cloud tasks

A coordinator, and workers on any model.

One conversation per goal. Each worker picks its own provider and model and runs on the project’s machine, and you can step into any of them.

In the app
Personal agents
OpenAI DotsxAI Grok BotMeta Muse

Personal projects that keep working.

A project with its own folder, memory and plan, scheduled routines, a Telegram channel to its coordinator through your own bot, and an opt-in browser profile with your saved logins.

Runs while your machine is awake, not in a vendor cloud. Webhook-started tasks need remote access turned on.

In the app
Self-hosted agents
Hermes AgentOpenClaw

Local first, with tools you grant.

Agents run on your machines. Tools come from local MCP servers you approve one tool at a time, and memory is plain files in the project.

Telegram works with your own bot; WhatsApp and Slack do not yet.

In the app
Coding agents
Claude CodeCodexGrok BuildCursorCopilot

Every lab’s official agent.

SpecWithCode drives each provider’s own agent, so its sign-in, approvals and limits apply. Switch a thread to another provider mid-conversation.

In the app
Usage limits
One usage page per account

Every account’s limits on one screen.

When a provider runs out, a thread offers another provider, waits for the reset or switches on its own; you set the rule per project. With the optional Switch companion, a capacity policy drafts new work on a fresh account.

In the app
The record
Memory locked in one vendor

Spec, evidence and handoff in git.

The open-source SpecWeave CLI keeps it, and any tool continues with specweave pickup.

Open source now

Other products as described on their public pages and in launch coverage, October 2026; they change quickly. Status is SpecWithCode’s own: In the app means it is in the current build.

02 / SpecWithCode projects

One goal.
Many agents.

A project is a long-running conversation with a coordinator. Give it a goal, add tasks as they come up, and step into any worker to steer it.

Coordinator

One conversation per goal.

Tell the coordinator what you want. It splits the work, starts or reuses workers, checks what they bring back and asks you only when a decision is yours.

Any provider

Each role picks its own model.

Run the coordinator on Claude Code and a worker on Codex, Grok Build or Cursor. SpecWithCode drives each provider’s official agent, so its own sign-in, approvals and limits apply, and you can switch a thread to another provider mid-conversation.

Memory

Said once, known by every worker.

Each project keeps its own memory, instructions and settings. A decision you give the coordinator reaches the next worker without you repeating it.

Plan

Reported done is not verified.

An optional plan holds the spec, tasks and assignments, or reads an existing SpecWeave increment. A task is verified only when its check runs and passes.

Folders and repos

A device folder plus several repositories.

Point a project at a folder on a machine, add approved neighbouring folders and the repository URLs it works across. Workers get their own worktrees.

Routines and Personal

Recurring work, not only code.

Schedule routines inside a project. A Personal project gets its own working folder and per-project tool grants for research, notes and everyday tasks.

Length 1:01Captions

61 seconds, no sound, descriptive captions / A project, two workers on different models, and a Claude thread that hits its usage limit and continues on Codex with its context. Screen recordings of SpecWithCode on a Mac, 10 October 2026; the usage limit in the handoff clip is simulated. All tutorials
03 / Local first

Your machines.
Not a cloud container.

Cloud project agents are simple to start and live with one vendor. SpecWithCode keeps the work where your code, skills and accounts already are, and lets you mix vendors inside one project.

TopicCloud project agentsSpecWithCode
Where work runsA cloud container per thread, with a bridge to your computer in some products.On machines you own: this computer, plus any you pair over your network, SSH or Tailscale.
ModelsOne vendor’s models.Claude Code, Codex, Grok Build, Cursor, OpenCode, Copilot and more. The coordinator and each worker choose their own.
Your skills and foldersUpload skills to the account or a repository. Neighbouring local folders are out of reach.The agent runs on your machine with its provider’s local configuration, so local skills, MCP servers and folders you approve are within reach.
When a limit hitsWait for the reset or change plans.By default the thread offers to continue on another provider, carrying the recent conversation over; per project you can have it wait and resume on the same account, or switch on its own. Or hand off to another tool with SpecWeave.
The recordInside the vendor’s project.Specs, task evidence and handoffs in git, readable by any tool.
Laptop closedKeeps running in the cloud.Runs while the executing machine is awake, so a desktop or Mac mini can carry work while your laptop sleeps.

Cloud project agents include Claude Code Projects, OpenAI Dots and xAI Grok Bot. Compared from their public documentation in October 2026; these products change quickly.

Read the SpecWithCode overview ↗
04 / Switch tools. Keep your place.

The work lives in your repo.
Tools come and go.

  1. Step 1 · Write it down once

    One file says
    what done means.

    Each piece of work is a single spec.md: the problem, the scope, acceptance criteria, the approach and the tasks. No second file to keep in sync, and SpecWeave never writes state back into it.

    .specweave/increments/0042-checkout-recovery/spec.md
    # Keep checkout resumable
    ## Problem
    A customer who leaves checkout loses their choices.
    ## Acceptance Criteria
    - [ ] AC-01: Returning within 24h restores the cart
    - [ ] AC-02: A paid order is never restored
    ## Tasks
    ### T-01 Save the checkout draft
    - AC: AC-01 | Files: src/checkout/draft.ts | Test: npm test -- draft
    ### T-02 Restore it on return
    - AC: AC-01, AC-02 | Files: src/checkout/restore.ts | Test: npm test -- restore
    
  2. Step 2 · Work one task at a time

    Each task arrives
    with its criteria.

    The CLI gives the agent the next task with the text of the acceptance criteria it covers, its files and its test, so it reads a few lines instead of the whole spec again. A criterion is met when every task that covers it is done.

    terminal · Claude Code
    $ specweave task next
    T-02 Restore it on return
      AC-01: Returning within 24h restores the cart
      AC-02: A paid order is never restored
      Files: src/checkout/restore.ts | Test: npm test -- restore
    
    $ specweave task claim T-02
    Claimed T-02 as claude@laptop
    
    $ specweave task done T-02 --run "npm test -- restore"
    Done T-02 (2/3)
    
  3. Step 3 · Hit a limit

    Out of tokens?
    Hand it off.

    Tell your agent to hand off, or run specweave handoff. It releases your task claims, records where you stopped, and pushes your branch and a snapshot of your uncommitted edits to git. Nothing to copy, nothing to paste. With specweave auto-handoff on, Claude Code and Codex flag it at 95% of the limit and hand off on their own when a turn hits it.

    terminal · Claude Code
    $ specweave handoff
    Handed off 0042 (released T-03,
      pushed feature/checkout-recovery,
      pushed your uncommitted edits).
    To continue in any tool, machine or account,
    say "pick up" there (or run `specweave pickup`).
    Details: .specweave/increments/0042-…/handoff.md
    
    # what the next session reads
    #  spec.md       criteria and tasks
    #  ledger.jsonl  2 of 3 done, T-03 free
    #  handoff.md    where you stopped
    #  wip/…         your uncommitted edits
    
  4. Step 4 · Continue anywhere

    Another tool.
    Same place.

    In Codex, Grok, Cursor or a second Claude subscription, specweave pickup fetches the handoff, applies your edits, and prints everything the new session needs in one read: the increment, the next task and its criteria, notes and project memory.

    terminal · Codex
    $ specweave pickup
    SpecWeave pickup · you are codex@laptop
    Picked up the handoff from claude@laptop.
    Increment 0042 "Keep checkout resumable" (active)
    Next: T-03 Drop drafts after payment
      AC-02: A paid order is never restored
      Files: src/checkout/expiry.ts | Test: npm test -- expiry
      claim: specweave task claim T-03 0042
    Notes:
    - claude@laptop 5m ago: restore works; expiry not started
    Memory (.specweave/memory/MEMORY.md):
      Drafts live in Redis with a 24h TTL; never in Postgres.
    Spec: .specweave/increments/0042-checkout-recovery/spec.md
    
Recorded evidenceA real EasyChamp increment, padel player stats: 5 of 5 tasks and 8 of 8 acceptance criteria done, handed off twice between a laptop session and a Claude thread. The report is the raw output of specweave report.Open the full report ↗
05 / The stack

One workspace.
One record.

SpecWithCode is where you work. SpecWeave keeps what survives the session in git. vskill brings tested expertise to every agent.

01 / The workspace

SpecWithCode

Projects with a coordinator and workers, each on the provider and model you pick, running on your own machines with approvals you can see.

See SpecWithCode ↗
02 / The record

SpecWeave CLI

The spec, task claims, test evidence and handoff live in your repository, so any agent or account can continue. Open source.

Start the open-source workflow ↗
03 / The expertise

vskill + Skill Studio

Inspect and install skills into every agent. Evaluate their behavior against a baseline before your team relies on them.

Explore skills and evaluations ↗
See the architecture, including how machines connect ↗
06 / Parallel work

One thread.
One increment.

A SpecWithCode worker or a Claude Code Projects thread works on one branch and opens one pull request. So does an increment. SpecWeave maps the two, and keeps everything that matters in git, where every tool and every account can read it.

How threads map to increments ↗
In a Claude Code ProjectIn SpecWeave 3.0
A projectAGENTS.md and the project goal
Project memory.specweave/memory/, committed with the code
A threadOne increment: one branch, one pull request
The thread checklistThe Tasks section of that spec.md
A note to another threadA note in the other increment's ledger
07 / Fit your team

Your tracker.
On your terms.

Keep GitHub, Jira or Azure DevOps where your team plans. In 3.0, changing an increment's status no longer creates or closes issues. SpecWeave touches a tracker only when you push to it.

Explore optional integrations ↗
08 / In practice

Built with SpecWeave.

Products where we use the workflow to plan changes, track delivery and carry work between sessions and subscriptions.

More projects and how we use SpecWeave ↗
The companion project

Better skills. Less baggage.

Find focused expertise, inspect its source and evaluate whether it helps your workflow.

Explore Verified Skills ↗
Your next session can start here

Bring every agent.
Keep your machines.

Get early access, free ↗Get started with the CLI