Skip to content
OpenSpec Workbench

Local-first, no service to sign up for

See your OpenSpec changes. Run your agents from the same window.

OpenSpec Workbench runs and supervises coding agents on OpenSpec changes. It is a dashboard over Changes, Archive, Specs and Tasks, and a launcher for Claude, GitHub Copilot, Codex and Gemini CLI agents — with one command and event protocol behind all of them. It runs entirely on your machine, as a standalone web app or as a native VS Code extension, over the same shared core.

What did you come to do in Workbench? Where did you get stuck? Share feedback

  • VS Code Extension 0.107.0
  • Standalone App 1.63.0
  • CLI 0.33.0

Current releases

Published 09 Nov 2026

VS Code Extension

Version 0.107.0
  • OpenSpec Workbench inside VS Code.
  • MINOR
    • Require approval for a change's Harness Git push from its harness.json. The approval shows the commit and destination and applies only to that push. An unattended CLI run stops before pushing when approval is required.
  • PATCH
    • An approved Harness push over HTTP or HTTPS stops when the repository redirects to another URL.

Download vsix Changelog Docs

Standalone App

Version 1.63.0
  • Local web application, no editor required.
  • MINOR
    • Require approval for a change's Harness Git push from its harness.json. The approval shows the commit and destination and applies only to that push. An unattended CLI run stops before pushing when approval is required.
  • PATCH
    • An approved Harness push over HTTP or HTTPS stops when the repository redirects to another URL.

Changelog Docs

CLI

Version 0.33.0
  • Run, validate and check OpenSpec changes from a terminal or CI.
  • MINOR
    • Require approval for a change's Harness Git push from its harness.json. The approval shows the commit and destination and applies only to that push. An unattended CLI run stops before pushing when approval is required.
  • PATCH
    • An approved Harness push over HTTP or HTTPS stops when the repository redirects to another URL.

npm Changelog Docs

Release history

28 Oct – 10 Nov 2026
VS Code Extension
0.107.0 MINOR
Standalone App
1.63.0 MINOR
CLI
0.33.0 MINOR

What it looks like

Standalone app

The Run a command panel: a completed show command with Claude CLI selected, its run analysis and streamed events
Commands stream their output as they run.
The change editor with a proposal's Markdown beside its rendered preview, and tabs for design, tasks and spec
Edit a proposal without leaving the dashboard.
A harness run in the change editor, paused at a checkpoint and asking whether to continue to verify with claude-cli
A harness run stops at a checkpoint and asks before the next step.
The pipeline view: each active change on a card under the step that can start it, one blocked waiting on another, and a hint with the command that gives a ready change somewhere to run
What can run now, what is blocked, and what to do about it.
A diff of a change's two edited files, the proposal rewritten and its tasks rewritten with one ticked
What changed in a change, line by line — the reason this exists.
The OpenSpec view summary listing one active change with one of three tasks done
One view over changes, specs and tasks.

VS Code extension

VS Code with the OpenSpec UI side bar showing Changes, Archive, Specs, Processes, Templates and Change Graph
A native tree view, not a webview pretending to be one.
A change open in the VS Code tree down to its proposal, design, tasks and spec, two tasks ticked and two still open
A change opens down to the task, done or still open.
The context menu of an archived change in VS Code, over its ticked tasks: unarchive, rollback, timeline, cost
An archived change keeps its tasks, and a menu of what to do with it.
The Pipeline open as a VS Code tab, two ready changes on cards with a Start button, and a hint with the command each one needs to run
The pipeline opens in a tab, beside the code it is about.
Harness settings for one change in a VS Code tab: a named configuration, and an agent chosen per stage for propose, review, apply and verify
Which agent runs which stage, set for one change or for all of them.
A spec opened from the Specs view in the VS Code editor
Specs open in the editor you already use.

Articles

All articles
The blue OpenSpec Workbench owl raises a shield beside the title How Codex runs a Harness stage.

How Codex runs a Harness stage

OpenSpec Workbench assigns a sandbox to each Codex stage and reads the result of the turn through the native CLI or ACP.

The OpenSpec Workbench owl, working in its own space, beside the words A change runs in its own worktree

A change runs in its own worktree

A run inside one of the repository's worktrees is given that worktree's own agents, whose sandbox is that worktree. Any other run gets the workspace's, whose sandbox still refuses a directory that is neither.

The OpenSpec Workbench owl, pushing, beside the words A change is committed where it is made

A change is committed where it is made

Agent workflow rules now say when to commit and push. A new change is committed and pushed as it is made. A card of a change's own worktree offers Commit Change, and the git stage commits what the stages left.

Why it exists

Diffs between archived versions

openspec view shows you the current state. It does not show you what changed between two versions of an archived change. That gap is why this project started, and it is still the thing it does that nothing upstream does.

One protocol, four agents

Claude, GitHub Copilot, Codex and Gemini CLI agents — plus a local model behind an OpenAI-compatible API — are driven through a single command protocol (plan, implement, review, status, cancel) and a single event protocol. Swapping the agent does not change how you work.

Your machine, and nothing else

There is no account, no server to reach, and no telemetry. The standalone app binds to localhost behind a one-time token; the extension talks to the shared core directly. Normal use needs no internet connection at all.

Two products, one core

If you live in VS Code, the extension uses the native API — tree views, the diff editor, the built-in Git integration — rather than a webview imitating them. If you do not, the standalone web app is the same product in a browser. All the behaviour lives in one shared core; the hosts are thin adapters.

Questions

How is this different from openspec view?

openspec view is an interactive dashboard for specs and changes, and this project does not try to replace it. The three things it adds are diffs between versions of archived changes, launching CLI agents from the UI over a unified command and event protocol, and VS Code integration as a native extension rather than another window. Anything already covered upstream is deliberately not reimplemented here.

How do I install it?

Install OpenSpec Workbench from the Visual Studio Marketplace or find it in the VS Code Extensions view. For an offline installation, download the .vsix from GitHub Releases and choose Install from VSIX… in VS Code.

The standalone app is built from source. Run npm install, build the server workspace, and start it against the directory you want to inspect. Open the localhost URL with the one-time token printed by the server.

Does it send my code anywhere?

Not by itself. It reads your repository from disk and runs the CLI agents you have already installed, under your own credentials — so whatever those agents send is between you and them, on the same terms as running them in a terminal. The application has no backend of its own, collects no telemetry, and treats repository file contents as data rather than as instructions it may act on.