Skip to content

CCCC v0.4.42 Release Notes ​

CCCC v0.4.42 adds optional official ACP modes for Antigravity, GitHub Copilot, Devin CLI and Cursor, plus a structured Voice Analyst investigation console and host-defined Voice personas. It also improves conversation recovery, message delivery, process cleanup and everyday configuration controls.

This note covers all changes after 8f96ad1. That baseline precedes v0.4.41, so the Grok Bot integration and related setup improvements introduced in v0.4.41 are included alongside the newer work.

Official ACP Modes, with Native TUI Defaults Preserved ​

Antigravity, GitHub Copilot, Devin CLI and Cursor now offer an explicit ACP mode for Actors, Runtime Profiles and Voice Analyst. These official adapters run without a native terminal and expose structured progress, results, permissions and cancellation. Their existing TUI mode remains the default.

This differs from Codex, Claude Code, OpenCode, Grok Build and Kilo: those managed integrations retain a writable native terminal attached to the same provider conversation. Selecting ACP for the four new adapters does not create a terminal viewer or silently fall back to TUI.

  • Configuration applies when you restart. Saving a mode or command change preserves the running session and its message-delivery path. Start remains idempotent; Restart or Save and restart applies the saved configuration. Repeating the same Runtime without specifying a mode preserves its selection.
  • Sessions and MCP identity remain separate. Each Actor gets its own provider session, CCCC routing identity and resume receipt. Switching modes preserves the other mode's history. New and resumed ACP sessions reapply explicitly configured model and permission settings.
  • Unconfirmed execution is visible. If the provider may have received a task but has not confirmed admission, CCCC records an ambiguous handoff and keeps it out of automatic replay. Stop, restart and cancellation can interrupt stalled admission waits. Empty sessions are distinguished from sessions that have attempted work, so a failed resume cannot silently replay an uncertain task.
  • Permissions remain explicit. Default commands retain the Runtime's normal unrestricted policy; Antigravity's default ACP command applies YOLO after both creation and resume. Remaining tool approvals grant only the current operation. Explicit custom commands and Profile commands retain their configured policy. Cursor questions and plans require a user decision even with YOLO; delayed answers cannot affect a replacement request.

Antigravity's official ACP component has a separate CCCC-managed installation and login. Install and authenticate it with:

sh
cccc setup --runtime antigravity --runtime-mode acp --login

Copilot, Devin and Cursor use their native CLI login/configuration, with MCP injection scoped to the launched process or session. CCCC does not rewrite their global MCP configuration. Model choices use supported command arguments and the provider's advertised ACP model catalog; the last model selected in a TUI is not assumed to transfer to ACP. See the Runtime guide for setup, model selection and permission behavior.

Voice Analyst Investigations with Visible Results ​

The ACP Voice Analyst console now provides a useful work surface when no native terminal exists. Submit an investigation or follow-up, inspect its progress, answer a pending decision and cancel current or queued work. Each task pairs its prompt with its status, result or failure; the prompt appears once, and longer text expands from a compact summary.

Work is serialized through a visible queue. Cancellation remains available while a task waits for its first provider receipt, including the gap between queued tasks. Rejected or failed work keeps its diagnostic and labels partial output as incomplete. Failed submissions preserve the draft and original task identity for retry. Narrow layouts keep the investigation and settings controls usable.

An investigation submitted during an attached assistant Voice call is explicitly bound to that call. Its completed result returns to that same Realtime context; results from an earlier call cannot enter a replacement call. Standalone investigations remain in the Analyst console. Failed, cancelled or unconfirmed work is not forwarded as a successful answer.

Context submission does not prove that a result has been spoken. Independent tasks entered through a native TUI keep their existing terminal behavior and are not newly included in automatic Voice projection.

Host-Defined Voice Personas ​

Applications using the Codex Voice API can request a host-defined roleplay call with application_context.mode: "persona":

json
{
  "application_context": {
    "id": "training-call",
    "mode": "persona",
    "instructions": "Play a customer calling about a delayed delivery. Let the trainee lead the conversation."
  }
}

Persona calls use the host instructions without the CCCC assistant role, routing rules or global expression preferences. They do not require or start a Voice Analyst, execute delegation events locally, or insert Actor/Group notifications. The opening cue follows the host's instructions. Readiness distinguishes persona availability from Analyst availability, and changing the mode cannot reuse an existing call. Omitting the mode retains assistant behavior.

This is a host/API capability; there is no new built-in persona or system-prompt editor. Experimental Realtime delegation suppression and opening behavior still depend on provider acceptance.

Host instructions now accept up to 24 KiB of UTF-8 text, increased from 8 KiB, in both assistant and persona modes. Oversized text is rejected without truncation. This is CCCC's byte limit, not a provider token budget or a guarantee that every language and prompt fits the upstream context window.

Embedded assistant calls follow the host's language, response length and source labels without appending conflicting global expression preferences. Provider acknowledgement remains enabled so the initial receipt need not wait for Analyst completion. Host context does not grant workspace or tool authority. Startup failures report bounded stages and timing without exposing credentials, provider response bodies or host instructions.

Conversation Recovery and Owned Process Cleanup ​

Closing a managed Actor's terminal no longer stops its healthy provider session. Starting the Actor, opening a writable terminal or delivering a message can reconnect to that same session; passive viewers and status polling do not launch work. A failed provider stop remains visible and can be retried before a replacement is launched.

Codex Actors and Voice Analyst resume long conversations without transferring the provider's entire history to CCCC, avoiding oversized resume responses while retaining the saved conversation.

Claude resume failures now preserve the original conversation and pending messages, record safe diagnostics and failure counts, and pause automatic recovery when session identity or durable history cannot be verified. Start or Restart explicitly retries the saved conversation; New session starts fresh after retiring pending recovery. A stopped provider job alone does not invalidate durable history. Workspace-trust recovery waits only for actual trust refusals; unrelated launch errors end that watcher, and its temporary prompt cannot receive task messages. These changes address #128 and #131 on CCCC's recovery side.

On Unix, abrupt daemon exit now triggers cleanup of its owned process groups, with reconciliation on restart if the watchdog also exits. Cleanup checks recorded process identities, preserves old-format ownership records and retains unresolved termination attempts. Unreadable cleanup state is reported before it can be replaced, and unverified process groups are left untouched.

Native ACP startup also uses the shared Windows executable/shim lookup. Offline setup and lifecycle fixtures stay isolated from provider login and downloads, including architecture-specific setup checks and browser-window cleanup races.

Grok Bot and Actor Settings Improvements ​

Grok Bot Web Model, introduced in v0.4.41, connects an existing https://grok.com/bot/<UUID> to each Actor. Grok uses its own shared login and connector, separate from ChatGPT. Actor credentials route CCCC tool calls without a pairing message; CCCC does not create Bots automatically.

  • Selecting Grok in the Actor editor immediately displays its required Bot URL. Runtime and URL save together, including when the Actor uses a linked Profile.
  • Replacing a Bot aligns its existing idle page. Switching from ChatGPT uses the Grok login profile rather than navigating an old ChatGPT-owned window.
  • Web Model settings can be edited while an Actor runs. Applying changes that require replacement confirms the affected Actor's stop/save/restart. Partial save failures update the persisted baseline and retain unfinished drafts; converting a linked Profile to custom settings preserves pending secret edits. A clean editor shows Done rather than an ineffective Save action.
  • Slow-loading login and Actor windows remain visible and closable while task delivery separately waits for page readiness. Closing a shared login window preserves Actor windows and saved login. Signing out still affects Actors using that login. Browser shutdown gives VNC time to release its shared-memory resources.
  • Connector creation waits for a successful initial read. Stale reads and duplicate clicks cannot erase newly returned credentials or bypass rotation confirmation. Group export/import excludes Web Model routing credentials and persisted Weixin reply tokens.

See the Grok Bot guide and ChatGPT Web Model guide for setup and recovery.

Clearer Daily Controls and Lower Mail Overhead ​

The Actor Dock uses thin activity rings with consistent icon sizes, respects the system's reduced-motion preference and removes persistent elapsed-time labels. Unread Mail badges use authoritative backend totals, hide at zero and show 99+ above 99. They count unread Mail, not unanswered messages, and remain separate from browser-delivery queue indicators.

Pending Mail counts no longer build and retain a full ledger index in each MCP process. Counts preserve cursor, Actor-generation and rotated/compressed-history boundaries while reducing memory overhead.

Composer recipients remain selected after sending and are remembered per Group for the current page session. Replies and temporary cross-Group destinations do not replace the ordinary selection. Late send responses cannot change the active Group or erase a newer draft, and failed sends preserve their routing.

Runtime selectors show installation status and offer a read-only recheck. Antigravity distinguishes native TUI installation from its separate ACP component; a failed check is not reported as a missing installation. Direct Group connection rows keep status and approval guidance clear, with actions below long names on narrow screens. Modal focus handling and English, Chinese and Japanese copy are aligned across the affected flows.

Upgrade and Validation Notes ​

  1. Restart CCCC after upgrading, then refresh the Web UI. Saved Runtime changes apply on explicit restart or the next start; saving alone preserves the current session and delivery surface.
  2. Install and authenticate the chosen official CLI before using its ACP mode. Antigravity ACP requires the separate setup command above. Discovery checks installation only; it does not prove login or task readiness.
  3. If Claude reports a paused resume, inspect the diagnostic and choose whether to retry the saved conversation or create a new one. Pending messages and provider history are retained; uncertain ACP execution should be inspected before an explicit message retry.
  4. Existing v0.4.41 Web Model setups do not need a new migration. When upgrading an older Actor-specific ChatGPT connector setup, follow the shared-connector migration in the v0.4.41 notes. Grok always requires an existing Bot URL, and its routing credentials should remain private.

Local validation covers Rust workspace regression/static checks, frontend and repository contracts, documentation builds and isolated packaged Linux/WSL flows. Isolated provider tasks exercised Antigravity ACP and the Devin/Cursor Actor and Voice Analyst adapters. Copilot completed two turns, but its live MCP routing acceptance remains incomplete. Native Windows/macOS acceptance, additional live interactions and real Realtime speech/delegation behavior remain validation gaps. Provider authentication, approvals and availability remain outside CCCC's control.

This release does not implement the planned global Voice Secretary redesign; Voice Analyst and the ASR-based Voice Secretary remain separate workflows.

Thanks to @chriscoveries for the Dock and managed-session lifecycle contributions in #116 and #119, and to the contributors who reported and traced the recovery failures.

Full source comparison

Released under the Apache-2.0 License.