Skip to content

Releases: VerbalChainsaw/opencode

OpenCode VerbalChainsaw Edition v1.17.12-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 28 Jun 22:24

Adds the AutoGoal vision document and refreshes repo guidance so future work targets the monorepo-only AutoGoal implementation.

17 commits since v1.17.11-vc1.

Commits

  • docs(autogoal): add vision and repo guidance
  • docs: record latest desktop package proof
  • fix(app): surface session sync failures
  • fix(app): preserve prod home opened projects (packages/autogoal/docs/gui-integration.md)
  • fix(app): make goal control hint gui-first (packages/autogoal/docs/gui-integration.md)
  • fix(app): align corrupt goal recovery copy (packages/autogoal/docs/gui-integration.md)
  • fix(app): preserve quoted goal command args (packages/autogoal/docs/gui-integration.md)
  • fix(app): route home goals by owner session
  • fix(app): start reused history goals (packages/autogoal/docs/gui-integration.md)
  • docs(desktop): record packaged startup proof
  • fix(app): keep titlebar session tabs labeled (packages/autogoal/docs/gui-integration.md)
  • docs(desktop): record abort sweep package proof
  • fix(app): gate history controls on abort success (packages/autogoal/docs/gui-integration.md)
  • fix(app): surface composer abort failures (packages/autogoal/docs/gui-integration.md)
  • fix(app): surface stale runtime pins (packages/autogoal/docs/gui-integration.md)
  • docs(desktop): record packaged project list proof
  • fix(app): preserve locally added projects (docs/gui-integration.md project list)

Install

Download opencode-desktop-win-x64.exe (~120 MB) below and run.

SHA256: 3BE4D463189F8A71D5B0E5D0CB90FCFFAB58AD453D965BD4C64795EB1651529F

OpenCode VerbalChainsaw Edition v1.17.11-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 28 Jun 14:17

Closes the remaining handoff knowns: a claimed handoff now binds to the session that claims it (was orphaned to the origin session), plus zh/zht translations for the new handoff strings. Stop wiring + the stop/pause/claim/abort surface independently verified correct. Builds on v1.17.10.

1 commits since v1.17.10-vc1.

Commits

  • fix(autogoal,app): close orchestration knowns — claim rebind + i18n parity

Install

Download opencode-desktop-win-x64.exe (~120 MB) below and run.

OpenCode VerbalChainsaw Edition v1.17.10-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 28 Jun 14:00

Stale-handoff guard: a handoff now shows its age + origin session and requires an explicit confirm before claiming, and abandoned handoffs (>7 days) auto-expire at startup. Closes the SunoSavvy stale-handoff runaway. Builds on the v1.17.9 orchestration hardening.

1 commits since v1.17.9-vc1.

Commits

  • fix(autogoal,app): stale-handoff guard — age/provenance + boot auto-expire

Install

Download opencode-desktop-win-x64.exe (~120 MB) below and run.

OpenCode VerbalChainsaw Edition v1.17.9-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 28 Jun 13:30

Production release. Orchestration hardening: stale continuations are now suppressed instead of delivered late (the 'stop sent commands to the chain' class), hardened chain controls, corrupt chain edits/advances fail closed, fractional chain counters rejected. Includes the prior runtime-consistency + docs closeout. Recommended for everyone.

4 commits since v1.17.8-vc1.

Commits

  • docs(desktop): record packaged handoff claim proof (specs/desktop-ui-design.md section 13)
  • docs(desktop): record packaged operator smoke proof (specs/desktop-ui-design.md section 13)
  • fix(desktop): clean package output before electron-builder (specs/desktop-ui-design.md section 13)
  • fix(autogoal): harden chain controls (specs/desktop-ui-design.md section 3)

Install

Download opencode-desktop-win-x64.exe (~120 MB) below and run.

OpenCode VerbalChainsaw Edition v1.17.8-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 28 Jun 04:13

Production release. AutoGoal runtime-consistency closeout (compaction corrupt-state, 1-based chain step), docs reconciliation, prod-channel build, fork auto-updater, backend-down indicator. Supersedes all prior vc releases — recommended for everyone.

71 commits since v1.17.7-vc1.

Commits

  • fix(autogoal): closeout runtime-consistency + docs slice (D1-D4)
  • fix(app): reject malformed runtime chain snapshots
  • fix(autogoal): reject fractional chain counters
  • fix(autogoal): fail closed on corrupt chain edits
  • fix(autogoal): fail closed on corrupt chain advance prompts
  • fix(autogoal): emit webhook for corrupt chain pauses
  • fix(autogoal): pause corrupt chain continuations
  • fix(autogoal): preserve chain context during compaction
  • fix(autogoal): surface corrupt state on session errors
  • fix(app): surface goal interruption prompt warnings
  • fix(autogoal): enforce state constraint bounds
  • fix(autogoal): align bridge state validation
  • fix(autogoal): validate bridge lifecycle timestamps
  • fix(autogoal): validate lifecycle timestamps
  • fix(app): validate goal command readout
  • fix(app): validate goal evaluation evidence
  • fix(app): validate goal evaluation history
  • fix(app): validate goal completion timestamp
  • fix(app): harden goal state token guard
  • fix(autogoal): use ctx directory for transition tools (specs/v0.5.0-feature-work-orders.md Track H)
  • fix(autogoal): guard chain operations on corrupt state (specs/v0.5.0-feature-work-orders.md Track H)
  • fix(app): harden goal state renderer validation
  • fix(autogoal): surface corrupt chain starts (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt goal display reads (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt goal mutations (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt goal handoff (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt handoff claim (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt goal claim (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt goal handoff (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt goal webhook (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt goal restart (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt goal status (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(autogoal): surface corrupt transition tools (specs/v0.5.0-feature-work-orders.md §H-1)
  • fix(goal): prevent instruction field clipping
  • fix(goal): normalize console radii
  • fix(goal): surface current step runtime context
  • fix(home): clarify idle metric states
  • fix(ui): enlarge shell copy controls
  • fix(goal): unsmash runtime detail controls
  • fix(goal): keep run order controls usable
  • fix(home): explain empty active goals
  • fix(goal): normalize editor control heights
  • fix(ui): preserve compact tab hit target
  • fix(app): normalize desktop control hit targets
  • fix(goal): label editor fields and size inline actions
  • fix(home): enlarge project row actions
  • fix(app): label titlebar icon controls
  • fix(home): explain disabled open goal action
  • fix(app): replace placeholder help popover
  • fix(goal): tighten action tab polish
  • fix(goal): respect reduced motion in runtime indicators
  • fix(goal): normalize console control radii
  • fix(goal): respect reduced motion in runtime progress
  • fix(goal): bound action rail height
  • fix(desktop): harden goal orchestration and polish ui
  • fix(goal): keep runtime dock responsive (specs/desktop-ui-design.md 7)
  • fix(goal): remove terminal chain rows (specs/v0.5.0-feature-work-orders.md F-5)
  • fix(goal): hide built-in action deletes (specs/v0.5.0-feature-work-orders.md F-5)
  • fix(goal): abort run tree on control failure (specs/v0.5.0-feature-work-orders.md F-5)
  • fix(goal): polish runtime tray layout (specs/desktop-ui-design.md 7)
  • fix(goal): materialize recovered chain row edits (specs/v0.5.0-feature-work-orders.md F-5)
  • fix(goal): use operator labels in template snapshot (specs/v0.5.0-feature-work-orders.md F-5)
  • docs(goal): remove stale sibling routing references [no-spec]
  • test(goal): harden abort route and action labels
  • fix(goal): cancel stopped chains and polish runtime tray (specs/v0.5.0-feature-work-orders.md F-3, specs/desktop-ui-design.md 7)
  • fix(goal): harden chain controls
  • fix(goal): prevent dock section overlap
  • fix(goal): resolve action editor template variables
  • fix(desktop): skip stale project restores
  • fix(goal): harden dock layout and chain skills
  • fix(goal): harden chain orchestration and dock UI

Install

Download opencode-desktop-win-x64.exe (~120 MB) below and run.

OpenCode VerbalChainsaw Edition v1.17.7-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 26 Jun 14:25

Production-readiness pass: auto-updater repo fix, README cleanup, backend-down indicator, repo polish. Recommended upgrade.

1 commits since v1.17.6-vc1.

Commits

  • release(fork): updater repo, README install, NCO1 backend-down, repo cleanup

Install

Download opencode-desktop-win-x64.exe (~120 MB) below and run.

OpenCode VerbalChainsaw Edition v1.17.6-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 26 Jun 13:58

AutoGoal boot cleanup: 4th orphan case (state absent/corrupt) covered + channel-locked release pipeline.

1 commits since v1.17.5-vc1.

Commits

  • fix(autogoal): boot cleanup also unlinks chain when state absent/corrupt (CENTER-AUDIT)

Install

Download opencode-desktop-win-x64.exe (~120 MB) below and run.

OpenCode VerbalChainsaw Edition v1.17.5-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 26 Jun 13:40

46 commits since v1.17.4-vc1. AutoGoal stability hardening + UI polish pass.

Highlights

AutoGoal engine (server.ts)

  • Unified deliverContinuation dispatcher with bounded retry, classify-once semantics, and idempotency (AG-P1-06).
  • withFileLock cross-process state lock (C1).
  • Atomic chain advance with serialized concurrent advances (AG-P1-06.D6+D10).
  • Opt-in backoff for the dispatcher (C2); injectable clock for stale-lock testability (Q7).
  • Sanitize condition / command / agentName at persistence (G-5).
  • Orphan chain file cleanup on boot — abandoned-mid-chain and orphan-from-previous-session both unlink now.
  • Identity-keyed dedup replaces process-wide debounce (AG-P0-03).
  • pickLatestAssistant SDK v2 timestamp contract.

Goal panel UI (app)

  • Cleared chain no longer renders as if running — falls through to draft / empty state.
  • Template "+" button disabled during a live run with explanatory tooltip (was a confusing dead button).
  • Ordered chain refresh via generation-counter discard prevents stale completions overwriting newer state (AG-P1-07).
  • Backpressure option on createOrderedChainRefresh (C3).
  • Visible-source routing for chain row actions — pure selector decides draft / live / terminal action kind (AG-P1-05).
  • Explicit ChainDraftSource provenance for empty-draft survival (AG-P0-04).
  • Token-budget progress driver + stricter chainMatchesGoal.
  • dismiss-terminal archives terminal goal into dismissed set (G-2).
  • In-panel reset for corrupt goal state (CENTER-AUDIT P3-C0).
  • Six hardcoded English aria-labels wired through language.t() for proper i18n.
  • Silent .catch(() => {}) swallows replaced with context-labelled telemetry across the goal-panel + autogoal silent-catch audit (D-NEW-5).

Desktop (Electron)

  • Propagate IPC write rejections from createStorage (CENTER-AUDIT P4-C0).
  • Guard storage IPC wrapper against unhandled rejections.
  • Allow draft stores in renderer IPC allowlist.

Verification

  • Both packages/autogoal and packages/app typecheck clean (tsc --noEmit).
  • autogoal: 1333 of 1340 tests pass (7 pre-existing env-dependent failures unrelated to this release).
  • Windows desktop exe built locally from dev HEAD via bun --cwd packages/desktop package:win.

Install

Download opencode-desktop-win-x64.exe (~120 MB) below and run.

OpenCode VerbalChainsaw Edition v1.17.4-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 24 Jun 04:57

OpenCode — VerbalChainsaw Edition v1.17.4-vc1

The first public release of the VerbalChainsaw fork of OpenCode.

Everything upstream works — same CLI, same providers, same plugin system. This fork adds AutoGoal, a system for autonomous goal-directed execution.

What's New: AutoGoal

Tell the agent what you want and it keeps working until the goal is met.

  • Conversational goal-setting — describe what you want in plain English
  • Deterministic verification — attach a shell command and it checks exit 0 after every turn
  • Chain execution — sequence multiple actions (Plan, Build, Test, Review) with per-step constraints
  • Turn/time/token limits — hard safety rails
  • Live steering — change the goal, add hints, pause/resume mid-run
  • Handoff — serialize state, pick it up in another session or machine
  • Full desktop UI — Goal panel with real-time progress, metric pills, chain builder, run history

Visual Polish

  • Redesigned metric pills with HSL-interpolated dynamic accents
  • Celebration layout for achieved goals with green hero tint
  • Unified sky-blue input system across all goal panel sections
  • Chain builder with visible purple-blue accent and consistent styling

Downloads

Platform File
Windows x64 opencode-desktop-win-x64.exe (attached below)

Install (CLI)

npm i -g opencode-ai@latest

Based on OpenCode v1.17.3 upstream. Built by @VerbalChainsaw.

v1.0.0 — VerbalChainsaw fork first stable

Choose a tag to compare

VerbalChainsaw fork v1.0.0 — first stable

This is the fork's first 1.0 milestone: data-contract bugs found and fixed, the F-1/F-4 CLI contracts pinned with regression tests, the Mission Control goal-panel hardened and visually polished, governance tightened (sibling repo retired, monorepo is sole authority), and the App-side goal integration brought into line with the v0.4.2 corrupt-state surfacing contract. Everything in this release has been verified against the autogoal suite (1267/0) on the committed branch and the cross-platform Windows/WSL paths.

Note on the version number. The package version moves from 1.17.3 (which mirrored upstream opencode's release tag) to 1.0.0 to mark this fork's first stable release of its own independent surface. The git tag is verbalchainsaw-v1.0.0 (fork-prefixed to avoid collision with upstream opencode's v1.0.0 from October 31, 2025) and points at the head of dev on VerbalChainsaw/opencode. Future fork releases will continue from 1.x.y.


Data-contract fixes (Defect 1 + Defect 2 + corruption contract extension)

  • Defect 1 (HIGH) — webhook lost on bridge-started chain's first advance. The CLI's chain start path projected the pre-chain state's metadata.webhook onto chain.webhook, but the bridge's startGoalChain did not. As a result, applyChainWebhookToState deleted state.metadata.webhook on the first advance. The bridge now reads the prior state's webhook, sanitizes via sanitizeChainWebhook, and writes it to chain.webhook before persisting — mirroring the CLI's E-1 fix. The GoalControlChain interface gained an explicit webhook?: ChainWebhook field (the type was previously lying). Live-reproduced before the fix and pinned in a new test file. (Commit 7322f23d2, packages/autogoal/test/bridge-chain-webhook.test.mjs.)
  • Defect 2 (MEDIUM) — plugin session.idle silently halts on corrupt goal state. The auto-loop handler was using the deprecated readGoalState shim, which collapses both absent and corrupt to null. A corrupt goal-state file therefore halted the auto-loop with no user-visible surface. The v0.4.2 surfacing contract (pinned for the CLI by test/v042-corrupt-surfacing.test.mjs) is now extended to the auto-loop: replaced with readGoalStateResult, explicit corrupt handling logs error: "skipping evaluation: goal state file is corrupt" with the reason and quarantined artifact path. (Commit bc7a22d07, packages/autogoal/test/session-idle-corrupt.test.mjs.)
  • Defect 3 (REVERTED, documented) — stale stepMarkerAt on chain-step handoff. Initial audit claimed the resumed state kept a stale marker cutoff from the chain context. Investigation showed the existing goal-chain.test.mjs:461 test deliberately pins this behavior — the resumed step's marker scan would otherwise re-fire the prior step's GOAL_COMPLETE:. Reverted; documented in HANDOFF_AUTOGOAL_AUDIT.md as "intentional, tested, working as designed."

Test contracts pinned

  • F-1 JSON output contractopencode-autogoal [--dir <p>] [--json] <command> round-trips {ok, kind, exitCode, message, state?} exactly; parse errors and unknown commands honor the flag. Pinned in test/cli-json.test.mjs. (Commit 3cdc314a7.)
  • F-4 watch behavior — live terminal dashboard via createGoalWatcher + presentGoalState; --interval <ms> in [250, 60000]; non-TTY prints one frame and exits 0; SIGINT disposes cleanly. Pinned in test/cli-watch.test.mjs (23 cases). (Commit 2b4f23610.)
  • Cross-platform test contracts — Windows-native bash lookup, WSL EBUSY retry on rmSync, pathToFileURL Windows-path gating. Pinned in test/cli.test.mjs and test/repo-identity.test.mjs. WSL and Windows-native autogoal runs both green. (Commit 4d45aa23f.)
  • chainMatchesGoal pure helper — extracted to keep goal-panel tests independent of the bridge, covered with regression cases. (Commit 99243e2d0.)
  • HMR-safe per-bag _counter regression — blocks factory under HMR doesn't double-init. (Commit 0a555497c.)

Mission Control goal-panel UI (App + Desktop)

  • R1–R4 stats dashboard — run-time stats surface (turns, tokens, time-in-state, eval-calls) wired into the goal panel header, with architecture-review fixes for the data flow. (Commit 6be9e8130.)
  • Visual polish (HSL pills, celebration layout, sky-blue family, purple-blue chain accent) — RunMetricPill uses HSL-interpolated dynamic accents with gradient backgrounds; terminal result banner is a celebration layout with green hero tint; input/label colors unified to the sky-blue family across constraint stats, step rows, and goal input; chain-builder violet replaced with a visible purple-blue accent; empty-chain placeholder cleaned up. (Commit 7335e7133.)
  • Terminal-state escape hatch for chain step delete (v0.7.3) — chain step can be deleted from a terminal (achieved/cleared/replaced) state without wedging the panel. (Commit 5c7caa930.)
  • Clear terminal goal state on plugin boot (v0.7.3) — a stale terminal state from a prior process no longer poisons a fresh boot. (Commit 3bde2040a.)
  • i18n: terminal-result subtitle keys — added for the result banner, English source + zh + zht. (Commit 3168e85c8.)
  • Stable skeleton in metric cards while data loads — home page shows "-" placeholder while the metric fetch is in flight, preventing flicker between undefined and value. (Commit a19c7c55a.)
  • Session goal panel polish + AGENTS.md refresh — layout/typography pass and a fresh project contract. (Commit 22a509517.)
  • Goal panel — flatten running status cards (no borders, transparent bg, compact progress). (Commit 8c4431656.)
  • Goal panel — stabilize runtime command tray (specs/desktop-ui-design.md §4). (Commit 7fdac9874.)
  • Goal panel — repair set-goal, steer, and handoff controls (specs/desktop-ui-design.md §3). (Commit d48dcc8db.)
  • Goal panel — hard pause aborts the in-flight turn. (Commit 0ada70c67.)
  • Goal panel — single chain budget warning instead of duplicate boxes. (Commit 33b31c810.)
  • Goal panel — running-screen label contrast + Steer session guard. (Commit 9f6591bfb.)
  • Goal panel — single goal no longer renders stale chain draft as running. (Commit e6eb5cc80.)
  • Goal panel — readable Action Editor dropdowns + themed Details pane. (Commit d79c59d75.)
  • Goal panel — wire Action Editor routing + close chain-builder UI contracts. (Commit b5638b1a4.)
  • Goal panel — include default action templates (specs/v0.4.0-roadmap.md §4). (Commit 54c93c485.)
  • Goal panel — wire lifecycle handoff and stop controls (specs/desktop-ui-design.md §3). (Commit 44cd50403.)
  • Goal panel — streamline running dock + increase density. (Commits 470cb5efc, 936b365e9.)
  • Goal panel — harden desktop mission control. (Commit ece318a6c.)
  • Goal panel — clarify terminal goal workflow (OpenGoal specs/desktop-ui-design.md §2). (Commit 06d0fdce8.)
  • Goal panel — extract chainMatchesGoal pure helper + tests (also listed under test contracts). (Commit 99243e2d0.)
  • Goal panel — filter stale chain by id + parse goal-control error body. (Commit a213118fb.)
  • Goal panel — scope chain snapshots to current goal + clean up goal-panel assertions. (Commit c201397fe.)
  • App fix: surface save failures — silent success check now shows error text. (Commit 1a7ec311b.)
  • App fix: validate button, host composer, no default chain steps. (Commit 8a0be2cc4.)
  • App fix: gradient step numbers, flattened model select. (Commit 63755a14f.)
  • App fix: flatten skill/model pill buttons — no borders, no shadows. (Commit d8c6507b3.)
  • App fix: flatten all budget/limit inputs — no borders, no backgrounds, centered numbers. (Commit d3cc528de.)
  • App fix: compact budget strip to single-row inline counter. (Commit 92333bb6a.)
  • App fix: remove default built-in action templates. (Commit 8002e9184.)
  • App fix: validateChainDraft model gap + 10 new contract tests (specs/desktop-ui-design.md §3). (Commit 4c38125ef.)
  • App fix: consistency — unified h-7 buttons, flat step runtime, stripped remaining borders. (Commit 738e9315c.)
  • App fix: even footer buttons, compact details + limits, inline +Chain. (Commit 6f84e85ef.)
  • App fix: toolbar layout + flat action library — Start Chain left, Check/Save right, no borders. (Commit b236f0326.)
  • App feat: always-visible Save template in the Method detail. (Commit 512ff437f.)
  • App feat: Method Library panel + green baseline. (Commits e04fbaabb, bfc74e7ff.)
  • App feat: Goal panel passes 1–4 — templates + editable budget, live activity feed, steps/sub-goals + history + resize, lifecycle model + cleared-goal fix + always-visible history. (Commits aa6ef4b00, 97f242a6b, 06ca51937, 8f0a92e7a.)
  • App feat: real Goal panel controls — Pause/Resume/Restart/Clear. (Commit e2fa9bf6f.)
  • App feat: Goal panel — create goals from the GUI + visible native controls. (Commit f5f84d15f.)
  • App fix: Goal panel — proper containment + elegant redesign. (Commit a6c149644.)
  • App fix: gap audit — empty state, close button, type tightening, achieved color. (Commit 52471068c.)
  • App fix: adversarial review — NaN gate, dead loading state, race test, BOM/dupe keys. (Commit bc2a0722f.)
  • App test: F-5 hardening — adversarial coverage, integration tests, OOM defense. (Commit bc2a0722f.)
  • App feat: goal panel — render opencode-autogoal plugin state in session sidebar. (Commit f20ad1f0c.)
  • App fix: cleanText non-string crash (C1 surfacing audit). (Commit 14aa9acb7.)
  • App fix: sweep — i18n stubs, ghost token, Windows path. (Commit bfa7c454a.)
  • App fix: compact section headers — 40% smaller, lighter, cleaner. (Commit 58b1f65c4.)
  • App fix: streamline action editor — flat banner, compact category pill, updated tests. (Commit `1fc91ae1...
Read more