No release notes were published for this version.
Changelog
Every release, every installer.
Release notes and downloads for each CuttleCode desktop build, newest first. Every version keeps its installers for macOS, Windows and Linux.
Choose your platform to download the latest build.
All releases
No release notes were published for this version.
No release notes were published for this version.
No release notes were published for this version.
Fixes the Windows provider bug in 0.9.22 / 0.9.23
On v0.9.22 and v0.9.23, the Claude Code and Codex providers report "CLI missing or executable unavailable" on Windows and cannot be selected at all. This release is the fix.
- Local CLI discovery now works on Windows (#2631)
- Discovery reads Windows' own environment-variable spellings (#2633)
If you are on Windows and hit that error, this is the build to install.
Also in this release
Fixes
- Desktop update: unblock installs behind auth, prompt on app open, check hourly (#2629)
- Accept Claude CLI sign-ins that report no email/org metadata (#2627)
Features
cuttle runners list|defaultandsessions spawn --list-runners(#2630)- New-session Scope defaults to the repo for single-repo projects (#2628)
- New-session Project field uses a picker dialog
- New-session Agent dropdown replaced with a picker dialog
Install
Platform Asset Windows CuttleCode-Setup-0.9.24.exe(orCuttleCode-0.9.24.msi)macOS (Apple silicon) CuttleCode-0.9.24-arm64.dmgLinux CuttleCode-0.9.24-x86_64.AppImageorCuttleCode-0.9.24-amd64.debKnown issues
- macOS is Apple-silicon only. There is no Intel build.
- Windows installers trip SmartScreen. Choose "More info" -> "Run anyway".
.debinstalls do not auto-update — the client detects a package install and defers to your package manager. The AppImage does auto-update.- Linux has no automated release gate. That lane is less verified than macOS.
- v0.9.0 cannot auto-update to anything. Those installs need one manual reinstall to rejoin the update channel.
LICENSE.mdlinks a repository that is not public, so that link 404s.
No release notes were published for this version.
No release notes were published for this version.
Desktop installers for CuttleCode v0.9.21.
Changes since v0.9.20:
- Features: native Codex sign-in and Cursor, Grok, and OpenCode providers; filterable session history; pipeline loop visualization and sandboxed Rust transforms; themed browser companion with per-user access controls; streamlined remote SSH key setup.
- Fixes: preserve session artifact links; persist local ACP connections across server restarts; resume saved ACP sessions and improve model-swap recovery; retire lost daemon sessions and expose saved recovery; isolate Remote Inference connections and credentials by user; keep the ACP Discover entry within its use-case limit.
- Release: bump desktop installer version to 0.9.21.
Known limitations:
- macOS is Apple Silicon (arm64) only; no Intel installer.
- Windows may trigger SmartScreen. The Windows signing certificate has not been verified.
- MSI installs require rerunning the MSI; .deb installs require the package manager. Automatic downloads are enabled for supported updater lanes; applying an update must safely stop running services.
- Linux has no equivalent of the macOS release smoke gate.
- v0.9.0 users need a manual reinstall to enter the supported update path.
- The license's private source-repository link is inaccessible to public users.
The macOS app, DMG, and update ZIP are configured for signing and notarization. Installation and update behavior on Windows/Linux has not been manually verified for this release.
No release notes were published for this version.
No release notes were published for this version.
Desktop installers for CuttleCode 0.9.15.
The previous public release was 0.9.12 — 0.9.13 and 0.9.14 were tagged but never published, so this release carries 83 commits since the last thing you could download.
Downloads
Platform File macOS (Apple Silicon) CuttleCode-0.9.15-arm64.dmgWindows CuttleCode-Setup-0.9.15.exe(orCuttleCode-0.9.15.msi)Linux CuttleCode-0.9.15-x86_64.AppImage(orCuttleCode-0.9.15-amd64.deb)What changed since 0.9.12
Setup & sign-in (the big one) — the first-run wizard was rebuilt into a single funnel: one "Get started" CTA, the account step is now the only sign-in fork, the Cuttle cloud account is preselected and marked recommended, prerequisites are clickable/copyable and installable in place, the Cuttle CLI is a required prerequisite, the device-code link step is cancellable, and there's a scannable Tailscale QR in the integrations step. A fresh install now boots ready to sign in without a restart, and a stranded local install can "Continue without an account".
Ralph / BigRalph — task graph view for PRDs, story dependencies and a stories-per-iteration knob, parallel subagent fan-out over disjoint ready stories, the PRD as a living document during a run, and for BigRalph: waves, a mid-run checkpoint judge, a fan-out knob for inner runs, and parallel lanes as the escalation layer.
Intents v2 — a full overhaul (#2326) plus ~15 follow-up fixes: plan steps tick live as Ralph iterations finish, a
spawn_sessionautoplay verb, a judge that can see the PR, the priority label is back, and the post-PR/post-merge autoplay lifecycle works again.Sessions & chat — fork a session into a new one with the same context, a "Wrap session names" view option, pasted images render in the transcript, swipe/arrow navigation in the image viewer.
Other — Claude Fable 5.1 added and set as the Fable default; the PTY daemon lane defaults ON for native installs; cloud moved to
cuttlecode.dev(auth email now fromnoreply@send.cuttlecode.dev,api.codecc.aishimmed so pre-move builds keep working); "CCC" purged from user-facing copy.37 features, 33 fixes, 1 perf fix (intent detail page loaded three times).
Known limitations — please read
- macOS is Apple Silicon only. No Intel build. The app, the zip and the dmg are signed with a Developer ID, notarized and stapled — it opens without a Gatekeeper prompt.
- Windows installers are unsigned and will trip SmartScreen. Verified in this build's log: electron-builder reports
no signing info identified, signing is skipped. Choose "More info" → "Run anyway". .debinstalls do not auto-update. The client detects a package-manager install and defers to it. The AppImage auto-updates normally; so do Windows and macOS.- Linux has no automated release gate. macOS installers are smoke-tested end-to-end on real hardware before publish (signature, staple, node-pty, a live 10s session); Windows and Linux are not. The Linux lane is the least verified.
- v0.9.0 installs cannot auto-update to this. They shipped unsigned, before the updater's darwin lane worked. Those users need one manual reinstall.
LICENSE.mdstill links a private repo and will 404.
Desktop installers for CuttleCode 0.9.12. 18 commits since v0.9.11.
Install
Platform File macOS (Apple silicon) CuttleCode-0.9.12-arm64.dmgWindows CuttleCode-Setup-0.9.12.exe(installer) orCuttleCode-0.9.12.msiLinux CuttleCode-0.9.12-x86_64.AppImageorCuttleCode-0.9.12-amd64.debRead this before you install
- macOS is Apple silicon only. There is no Intel build.
- The Windows installers are unsigned and will trip SmartScreen — "More info" → "Run anyway". This build's log confirms it: every
signing with signtool.exeline is followed byno signing info identified, signing is skipped … cscInfo=null. No Authenticode certificate is wired up. .debinstalls do not auto-update. The client detects a package install and defers to your package manager. The AppImage does auto-update.- Linux has no automated release gate. macOS installers are smoke-tested on real hardware before publish (signature, notarization, staple, a live session); Windows and Linux are not.
- v0.9.0 cannot auto-update to anything. It shipped before the updater's macOS lane worked. If you are on 0.9.0, install this one by hand once.
LICENSE.mdstill links a private repo that 404s for the public.
macOS is signed, notarized and stapled — app, zip and dmg. Windows and the Linux AppImage self-update; macOS auto-update works from 0.9.1 onward.
Features
- Discover: plain-English "what is it" and use cases on every feature page
- Advisor: the Auto/Off digest mode follows the user, not the browser
- Mobile: one header row instead of two
Fixes
- Runtime link: an unusable runtime credential no longer strands the runtime unlinkable (the desktop 401)
- Sessions: Resume revives the same session instead of duplicating it
- Chat: an image attachment no longer leaves a duplicate stuck bubble; the answer you gave an AskUserQuestion is now shown
- Web: the socket has a working fallback transport, so a dead websocket is no longer a dead app
- macOS: reclaims the two
/dev/ptmxfds node-pty leaked per spawn - Pipelines: a node whose handoff file is missing required keys now fails instead of hanging, and handoff-contract failures surface in status and events
- Git: falls back to your global config / GitHub identity before the
ccc@localplaceholder - Discord: retries bot startup with backoff when the boot-time connect fails
- Dev-instance reaper: discovers instances owned by non-server checkouts
Plus the rename to the full name CuttleCode in the app chrome and tray.
Desktop installers for CuttleCode 0.9.11. 62 commits since v0.9.10.
Install
Platform File macOS (Apple silicon) CuttleCode-0.9.11-arm64.dmgWindows CuttleCode-Setup-0.9.11.exe(installer) orCuttleCode-0.9.11.msiLinux CuttleCode-0.9.11-x86_64.AppImageorCuttleCode-0.9.11-amd64.debRead this before you install
- macOS is Apple silicon only. There is no Intel build.
- The Windows installers are unsigned and will trip SmartScreen — "More info" → "Run anyway". This build's log confirms it: every
signing with signtool.exeline is followed byno signing info identified, signing is skipped … cscInfo=null. No Authenticode certificate is wired up. .debinstalls do not auto-update. The client detects a package install and defers to your package manager. The AppImage does auto-update.- Linux has no automated release gate. macOS installers are smoke-tested on real hardware before publish (signature, notarization, staple, a live session); Windows and Linux are not.
- v0.9.0 cannot auto-update to anything. It shipped before the updater's macOS lane worked. If you are on 0.9.0, install this one by hand once.
LICENSE.mdstill links a private repo that 404s for the public.
macOS is signed, notarized and stapled — app, zip and dmg. Windows and the Linux AppImage self-update; macOS auto-update works from 0.9.1 onward.
Features
- Chat pops out into a floating Picture-in-Picture window
- Sessions: infinite-scroll past sessions, Mark unread, Go to intent
- Mobile: the desktop sessions panel in a phone's shape, long-press context menu, Intents in the bottom nav
- Admin: a Diagnostics tab for machine health and worktree management
- Intents: per-intent base branch for PRs and worktrees
- Auth: one-button "Log in with your browser"
- Install: one-click tailnet address for copy-paste install commands
- Agents: roomier wizard with an expandable system prompt
- A live compaction animation in the session chat view
Fixes
- PTY daemon: survives a Windows in-app update instead of dying with the server; no longer dies with the server's cgroup; an isolated worktree's daemon is no longer immortal; a test process can never take over the real daemon
- Chat: a queued message no longer vanishes on a Chat ⇄ Terminal toggle; project-skill slash commands actually run; every blocking TUI dialog is surfaced; bare https image URLs embed inline; the compaction row stays in sync across a re-entry
- Desktop: right-click Cut/Copy/Paste; the chat pop-out works and pins to the session you popped out; macOS self-update restart timeout fixed
- Install: the node check works on PowerShell 5.1, and an apostrophe in the machine name no longer breaks the install command
- Ralph: a session waiting on a live background task is no longer idle-killed; iteration sessions render their conversation in chat view
- Stalled updates and prompt answers recover; Retry escalates to a reload when the socket can't come back
Plus the rename to CuttleCode across every surface, and the update feed now points at this repo.
No release notes were published for this version.
No release notes were published for this version.
Two operator-reported desktop bugs, both reproduced before the fix and verified after.
Fixed
Fresh install skipped onboarding. The tray opened the app window as soon as the web port was listening, without waiting for the API server.
AuthGuard's single/api/auth/meprobe lost that race, and its.catch(() => {})failed open — the app rendered assystem@ccc.localand never offered cloud sign-in until the user quit and relaunched. Fixed on both layers: the guard now retries (8 attempts, ~14s) before failing open, and the tray waits on the API port as well as the web port.Cloud sign-in dropped the provider profile (name + avatar). Discord's handle lives in
user_metadata.user_name, which the name chain never checked, andcreateUser()had noavatarUrlparameter at all — so users landed with an email-prefix name and no avatar. Both are now extracted and refreshed on every sign-in across all three identity branches. The provider metadata is treated as untrusted: type-checked, length-capped, and the avatar restricted to http(s) URLs.Changes since v0.9.7
Fixes
df82681eafirst-run: close the first-launch race that silently skipped onboarding5c60b66c6auth: carry the provider profile (name + avatar) through cloud sign-in02f9672e3auth: resolve the browser cookie on public paths so setup writes stop 403ing adminsb9cdc84a1pipeline: single-node watchdog no longer force-succeeds unfinished nodes (#2038)
CI / tests
c966af7bee2e: install the claude CLI on the runner — 55 failures shared one cause53b4e3adcwal: assert the drained WAL at block end, not a load-sensitive poll count
How far the verification goes
Both fixes were reproduced-before and verified-after in an isolated instance, and the tray half of the first-run fix was exercised under a real Electron shell (Xvfb, with the API port unbound).
Not verified: the packaged installer on a fresh machine, and a live Discord sign-in round-trip. No gate in this pipeline covers either.
Known limitations
- macOS is arm64-only. No Intel build.
- Windows installers may trip SmartScreen. No Authenticode certificate is wired through
electron-builder.yml. Something on the Windows build host does invokesigntool.exe, but that certificate has not been identified — treat Windows signing as unconfirmed rather than assuming either way. .debinstalls do not auto-update — the client detects a package-manager install and defers to it. Upgrade with your package manager. The AppImage does auto-update.- Linux has no packaging QA gate. macOS is verified against the shipped bytes (
verify-mac); Windows and Linux are not. LICENSE.md:1still links a private repo, which 404s for the public.
macOS is signed, notarized and stapled (app, zip and dmg) and auto-updates via the Squirrel.Mac
.zip. Windows and the Linux AppImage self-update.No release notes were published for this version.
CCC 0.9.6 — desktop installers.
What changed since 0.9.5
fix(login): a denied
window.openin the desktop shell is not a blocked popup (#2170)On Windows, "Continue with Discord" failed with "Enable pop-ups to sign in with this provider" on machines with no popup blocker involved. 0.9.5 correctly routed the desktop shell to the handoff flow; the failure simply moved one line further down. Handoff opens the cloud callback with
window.openand treated anullreturn as a blocked popup. Inside the shellnullmeans something else: the link policy opens the URL in your system browser and then denies the in-app window, so the renderer getsnulleven though the browser tab opened correctly. The popup worked — the check misread it.popupWasBlocked()now only treatsnullas a block outside the shell, and the notice tells shell users to finish signing in in their browser rather than pointing at a tab that isn't in the app.How far this is verified
The popup check itself is unit-tested in both directions: a genuinely blocked popup in a normal browser still reports as blocked, and a
nullfrom the shell's deny-after-open policy does not — invert the guard and the tests fail.The full Discord sign-in round-trip is still unverified end-to-end. Proving it needs a real Electron shell plus a live provider login, which no CI gate covers. In particular, whether
pollHandoffcompletes after you sign in has not been observed by anyone yet. This is the third fix on this path (0.9.5 fixed the redirect branch, 0.9.6 fixes the popup check). Treat cloud sign-in as improved, not as known-good — and please report what you see.Known issues — stated up front, not surprises
- macOS is arm64-only. No Intel build.
- Windows installers will likely trip SmartScreen. No Authenticode certificate is wired through
electron-builder.yml. The Windows build host does invokesigntool.exe, but that certificate has not been identified, so treat these installers as unsigned and expect the "Windows protected your PC" prompt (More info → Run anyway). .debinstalls do not auto-update — the app detects a package install and defers to your package manager. The AppImage does auto-update.- Linux ships without a QA gate. macOS has a signed-and-notarized smoke gate on the shipped bytes; Windows and Linux have no equivalent, so those lanes are less verified.
- 0.9.0 installs cannot auto-update to anything — they shipped before the updater was unblocked. Those users need one manual reinstall.
LICENSE.mdlinks a private repo that 404s for the public.
macOS is signed, notarized and stapled (app, zip, and dmg), and auto-updates via the
.zip. Windows and the Linux AppImage self-update.Assets
CCC-Setup-0.9.6.exe/CCC-0.9.6.msi(Windows) ·CCC-0.9.6-arm64.dmg(macOS, Apple silicon) ·CCC-0.9.6-x86_64.AppImage/CCC-0.9.6-amd64.deb(Linux). The-mac.zipandlatest*.ymlfiles are the auto-update payloads.CCC desktop installers for macOS (Apple silicon), Windows, and Linux.
Why this release exists
v0.9.4 was installed on a real Windows machine and cloud sign-in — the default account path — did not work. This release is that single fix (#2167). Nothing else changed.
Clicking "Continue with Discord" left the app permanently dead. The provider page opened in Chrome, sign-in succeeded there, and the app window sat on
/loginforever with every provider button greyed out, with no way back. The desktop shell hands any non-app URL to the system browser, so the provider redirect could never return to the app window — and the button state was never reset on that branch. The shell now uses the handoff flow instead (open the cloud callback, poll for the session, no redirect needed), and the buttons re-enable after 10 seconds so this class of failure cannot leave dead UI again.Reopening the app flipped between "Welcome to CCC" and "Loading" forever. An authenticated instance with no users yet reports both "setup complete" and "needs setup", so two redirects bounced off each other indefinitely. That state now goes to
/login, which is where the next action actually is.Honest caveat on the first fix: the loop fix was reproduced and confirmed settling on
/login. The OAuth handoff change has not been verified end-to-end — that needs a real Electron shell and a live Discord round-trip, which nobody has run yet. If cloud sign-in still misbehaves for you, please say so.Known issues — please read before installing
- macOS is Apple silicon only. There is no Intel build.
- Windows installers may trip SmartScreen. No Authenticode certificate is configured in the build, so expect a "Windows protected your PC" prompt — choose More info → Run anyway. Some Windows binaries in this build do carry a signature applied by the build host, but that certificate has not been identified, so treat these installers as unsigned.
.debinstalls do not auto-update. The app detects a package-manager install and defers to it; update with your package manager. The AppImage does auto-update.- Linux is the least verified platform. There is no automated smoke gate for Linux the way there is for macOS.
- v0.9.0 cannot auto-update to this or any release. It shipped unsigned and before the updater's macOS lane worked. Those installs need one manual reinstall from this page.
LICENSE.mdlinks a repository that is not public, so that link 404s.
macOS is signed, notarized and stapled (app, zip, and dmg), and auto-updates. Windows and the Linux AppImage auto-update.
Install
- macOS —
CCC-0.9.5-arm64.dmg - Windows —
CCC-Setup-0.9.5.exe(orCCC-0.9.5.msi) - Linux —
CCC-0.9.5.AppImage(auto-updates) orccc_0.9.5_amd64.deb
CCC desktop installers for macOS (Apple silicon), Windows, and Linux.
First run, on a real machine
This release is mostly about the first fifteen minutes. Six separate first-run and onboarding defects were found on a real Windows install and fixed:
- The setup wizard was unreachable after upgrading from an earlier install.
- The Welcome screen could loop, and could report "Admin access required" to the very first user.
- The
claudeCLI was not detected on Windows even when it was installed. - An existing
claudesign-in was not detected, so you were asked to log in again. - The bash
PATHhint shown during setup was wrong on Windows. - The placeholder logo was replaced.
The sidebar also shows the real application version now. It was hardcoded to
v0.1in every build that has ever shipped; this one reads the version it was actually built from.Also in this release
- Sessions pane grouped by project, and you can arrange it (#2142).
- PTY internals: Phase 1 of the daemon refactor (#2158) — carves the
PtyHandleseam. Internal, no behaviour change intended, but it is the largest change in this release; if you see terminal or session-lifecycle oddities, that is the first place to look. - A running session's thinking indicator keeps animating (#2164).
- Sessions are killed as a whole process tree on macOS/Linux (#2154).
- A failing database migration now names the version that failed instead of surfacing a bare SQLite error (#2148).
- Session retention skips the search index scan when nothing is stale (#2153).
- Packaging: restored the payload build step and added a parse-check over every packaging script. This is the bug that broke v0.9.3 — that version was never published, and the number was burned rather than re-cut.
Known issues — please read before installing
- macOS is Apple silicon only. There is no Intel build.
- Windows installers may trip SmartScreen. No Authenticode certificate is configured in the build, so expect a "Windows protected your PC" prompt — choose More info → Run anyway. Some Windows binaries in this build do carry a signature applied by the build host, but that certificate has not been identified, so treat these installers as unsigned.
.debinstalls do not auto-update. The app detects a package-manager install and defers to it; update with your package manager. The AppImage does auto-update.- Linux is the least verified platform. There is no automated smoke gate for Linux the way there is for macOS.
- v0.9.0 cannot auto-update to this or any release. It shipped unsigned and before the updater's macOS lane worked. Those installs need one manual reinstall from this page.
LICENSE.mdlinks a repository that is not public, so that link 404s.
macOS is signed, notarized and stapled (app, zip, and dmg), and auto-updates. Windows and the Linux AppImage auto-update.
Install
- macOS —
CCC-0.9.4-arm64.dmg - Windows —
CCC-Setup-0.9.4.exe(orCCC-0.9.4.msi) - Linux —
CCC-0.9.4-x86_64.AppImageorCCC-0.9.4-amd64.deb
CCC-0.9.4-arm64-mac.zipis the macOS auto-update payload, not the installer.The first build where CCC Cloud sign-in works out of the box, plus a guided first-run setup.
Install
Platform Download macOS (Apple Silicon) CCC-0.9.2-arm64.dmgWindows CCC-Setup-0.9.2.exeorCCC-0.9.2.msiLinux CCC-0.9.2-x86_64.AppImageorCCC-0.9.2-amd64.debOn v0.9.1 you do not need this page — the app updates itself.
What's new
Cloud sign-in works in a packaged install. This is the headline fix for installers specifically. The CCC Cloud endpoint is now compiled into the build (
packages/cloud/src/defaults.ts) instead of being expected from the environment. The web credentials are inlined at build time, and nothing in the release pipeline supplied them, so every installer before this one simply could not sign in to the cloud — and could not be pointed at it afterwards either. It now works from a stock install, with the environment variables still taking precedence for self-hosted deployments.First-run setup wizard. A new
/setupflow greets a fresh install: an express "quick start" path, or a guided one covering environment, account, prerequisites, integrations and advanced settings. Closed-set settings render as dropdowns rather than free text.CCC Cloud is the default account path. Local accounts still work but are marked legacy.
Instance configuration editor under Settings → Admin, driven by a typed registry. Database-backed settings apply live; environment-backed ones tell you a restart is required.
Safe restart. Restarting from the UI now warns you first, with counts of the running pipelines, automations and live terminal sessions it is about to interrupt.
Optional
ccc-cliprerequisite check in setup — informational only. It never blocks and never asks for elevation.Fixes. A chat message rejected by the terminal's modal is handed back instead of lost; an in-flight
/compactno longer marks a session that ended mid-turn; a session that boots into a blocking dialog now leavesstarting; the question card is restored when an answer never reached the terminal.Known limitations
- macOS is Apple Silicon only. No Intel build.
- Windows installers show a SmartScreen warning — no Authenticode certificate is configured.
.debinstalls do not auto-update — the app defers to your package manager. The AppImage does auto-update.- The AppImage needs FUSE 2 (
libfuse2), or run it with--appimage-extract-and-run. - Still on v0.9.0? Download and reinstall once. v0.9.0 shipped before the update lane was unblocked and cannot pull this release automatically.
- Linux has no dedicated QA target; that lane ships less verified than macOS.
Changes since v0.9.1
15 commits across 8 PRs.
- feat — first-run setup wizard, instance config editor and safe restart; CCC Cloud as the default account path; closed-set settings as dropdowns
- fix — chat message returned when the terminal modal refuses it;
/compacton a session that ended mid-turn; sessions stuck instartingbehind a blocking dialog; question card restored when the answer never reached the PTY; migration v216 locked; cloud-web config guard kept env-only - refactor — load guard de-tenanted to operator-declared heavy models
- chore/docs/test — advisor triage brief removed (stops spending quota by default), Motion Studio brought current for the Linux server, added setup and auth route test coverage
The first signed and notarized CCC release — and the first to be launched and smoke-tested by CI before being published.
Install
Platform Download macOS (Apple Silicon) CCC-0.9.1-arm64.dmgWindows CCC-Setup-0.9.1.exeorCCC-0.9.1.msiLinux CCC-0.9.1-x86_64.AppImageorCCC-0.9.1-amd64.debWhat's new
macOS is signed, notarized and stapled. The app, the auto-update payload, and the
.dmgitself all carry an Apple-notarized Developer ID signature (Restart Labs LLC). No more "unidentified developer" warning, and no right-click → Open dance. Because the ticket is stapled, this verifies even offline.macOS auto-update now works. Squirrel.Mac refuses unsigned updates, which is why earlier builds could never update themselves. That blocker is gone.
Every release is now launch-tested before it goes public. A new pre-publish gate installs the actual shipped
.dmgon a real Mac, verifies Gatekeeper acceptance and the stapled ticket, then launches the app and confirms it can spawn a live terminal session. If any check fails the release stays a draft and never reaches you.Clearer error when the host is out of pseudo-terminals. A machine that has exhausted its pty pool used to produce a bare
posix_spawnp failed.; it now says what actually happened and how to find the leak.Known limitations
- Coming from v0.9.0? You must download and reinstall once. v0.9.0 shipped before the update lane was unblocked, so it cannot pull this release automatically. This is the last manual step on macOS.
- macOS is Apple Silicon only. No Intel build.
- Windows installers show a SmartScreen warning — no Authenticode certificate.
.debinstalls do not auto-update — the app tells you to use your package manager. The AppImage does auto-update.- The AppImage needs FUSE 2 (
libfuse2), or run it with--appimage-extract-and-run. - Linux has no dedicated QA target; that lane ships less verified than macOS.
Changes since v0.9.0
9 commits: macOS signing + notarization (app, zip, dmg container), the pre-publish
verify-macgate, the pty-exhaustion error message, and CI runner fixes.CCC has not publicly launched, so the installer line has been reset to a pre-1.0 version. All previous releases (1.0.0–1.0.4) have been deleted from both repos. This is the first release of the 0.x line.
Install
Platform Download macOS (Apple Silicon) CCC-0.9.0-arm64.dmgWindows CCC-Setup-0.9.0.exe(installer) orCCC-0.9.0.msiLinux CCC-0.9.0-x86_64.AppImage(recommended) orCCC-0.9.0-amd64.debKnown limitations
- Coming from a 1.0.x install? You must download and reinstall manually. 0.9.0 is a lower version number, so no 1.0.x install will ever be offered this as an update.
- macOS cannot auto-update. The app is not signed with an Apple Developer ID, and Squirrel.Mac refuses unsigned updates — the updater reports "code signing required" and points you at this page instead of failing silently. Every macOS update is a manual
.dmgdownload until a certificate is in place. - macOS is Apple Silicon only. No Intel build.
- macOS and Windows installers are unsigned. macOS shows "unidentified developer" — right-click the app → Open once to bypass permanently. Windows shows a SmartScreen warning; the publisher name check is a no-op.
.debinstalls do not auto-update — the app detects the package install and tells you to update via your package manager. The AppImage does auto-update.- Linux ships without a dedicated desktop QA target — that lane is explicitly untested.
- The AppImage needs FUSE 2 (
libfuse2) to run directly, or use--appimage-extract-and-run.
Changes
224 commits since the previous build: 115 fixes, 57 features, 20 performance, 8 docs, 6 tests, 2 refactors.