This release includes 1 breaking change for platform teams planning a safe upgrade.
Published 8h
Developer Productivity
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
agent-orchestration
agents
ai-coding-agents
awesome-claude-code
claude
claude-code
+7 more
web
developer-tools
headless
kanban
llm-tools
local-first
python
Summary
AI summaryThe Queue panel replaces Run/Drain with a single "run this ticket" button that queues work sequentially, shows real queue state, and updates GitHub-backed queues every 5 seconds.
Full changelog
Changed
- One ▶ per ticket in the Queue panel. The old Run / Drain-once pair is now a single "run this ticket" button: it marks the ticket run-requested and WatchTower's reconciler spawns the worker, so several presses run one after another inside the queue's worker budget instead of each starting its own worker, the mark survives a reload, and pressing ▶ again while a ticket is still queued cancels it. Rows now show
queued to runas a real state, which retires the "Starting worker…" spinner that could latch forever and hide the button, and the toast that said "Running" when nothing had started.
Removed
- Removed the Open asks sidebar section and its Settings option.
Fixed
- Moved Car Mode access out of the session toolbar and into Settings.
- Keep queue drain controls in their requested state with a spinner while a change is saving, even if queue health refreshes in the meantime.
- Stop Continue New Codex handoffs from leaving ghost pending sessions when no durable child registers.
- GitHub-backed queues refresh on the board within 5s (was 20s). WatchTower's list now revalidates with an ETag, so an unchanged poll is a conditional request that costs nothing against the GitHub rate limit — polling four times as often uses less quota than before.
- Make recent WatchTower worker chips open their Codex conversations.
- Make the queue-first board's Sessions exit and pinned-default unpin control explicit.
- "Check for updates" now updates WatchTower too. The in-app updater used
to fetch and reset CCC's own checkout and stop there, leaving the queue engine
— the thing that dispatches workers — on whatever revision it was installed
at. It now runs the sharedscripts/install-watchtower.sh, bounces the
WatchTower daemon (wt stop && wt start, without which the freshly-pulled
code sits on disk while the old modules keep running), and then restarts CCC
as before. Ifwt workersshows anyone still working, the daemon restart is
deferred rather than killing an agent mid-ticket, and the response says so.
The pre-flight refusals on a dirty tree or a non-mainbranch are unchanged. - Preserve the master transcript's scroll position when switching to and from subagent tabs.
- Text-to-speech now strips Markdown and angle-bracket placeholders, reads long
replies in bounded segments, and skips a failed segment with a small notice
instead of silently stopping the rest of the reply. - Queue rows claimed only by an arbitrary worker label now use a hollow amber
status marker with a “liveness unverified” tooltip, rather than looking either
unclaimed or falsely active. - WatchTower is now actually installed on every path. One shared
scripts/install-watchtower.showns the chain — existing local checkout,
then a shallow clone at~/.ccc/watchtower, then a source tarball, and only
as a last resort the laggingwatchtower-clirelease on PyPI — installing
into the same interpreter that runsserver.pyand finishing withwt start
so the daemon survives reboot.run.shandscripts/install.shboth call it,
so Homebrew, the DMG, Docker and a plaingit cloneget the same result as a
curlinstall. The CCC-managed clone fast-forwards at most once a day; a
checkout of your own is never pulled, only reported when it falls behind. - Replace the blocking automatic What's New startup modal with a compact, dismissible version badge so the first dashboard interaction after an update is never swallowed.
- The execution-worker badge now shows the worker's last restart date and time
instead of an ambiguous job-review count. Offline and paused states still take
priority, and longer status labels stay on one line.
Breaking Changes
- Removed the Open asks sidebar section and its Settings option.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About CCC
All releases →Beta — feedback welcome: [email protected]