Repository navigation
CCCC v0.4.47 Release Notes
CCCC v0.4.47 introduces Chet, a global assistant you can use by text or voice,
message pins, quick replies, and a redesigned Web interface. Managed Claude
agents can show Claude's own workspace-trust and permissions confirmation in
their terminal. This release also improves message navigation and process
recovery and fixes access-control and Group-copy problems. This release covers
the changes since v0.4.46; see Before You Upgrade before
installing.
Before You Upgrade
Upgrade the CCCC executable and restart the daemon and Web through your usual
launch method to load the new code and bundled Web assets. The standalone
installer behind cccc update stops a running daemon and starts it again from
the new version. Before a pip upgrade, run cccc daemon stop and close any
foreground CCCC so pip can replace the executable, especially on Windows, then
start CCCC again. A daemon left running keeps the previous version. Runtime
history remains in CCCC_HOME.
- The Web interface now uses the pixel-terminal look throughout. The previous
look is not available as an option. Light and dark themes remain available. - Pinned replaces the Mail and Requests chat filters. Those messages
remain in the conversation with their existing marks, but cannot be listed
by type. A remembered Mail or Requests view opens under All. - The interface calls Group members agents. Commands such as
cccc actor,
API fields such asactor_id, and the underlying identities have not changed. - The Web
delegate_contactroute and daemonrelay_user_delegationoperation
were removed. Integrations that used them should use Websend_cross_group
as the user; replies go back to the human sender rather than a relaying agent. - For already connected native sessions, update and reload the CCCC integration
and reconnect its MCP server in each app to receive the new tool declarations.
Restarting the CCCC daemon alone does not reload those processes. Follow the
native-session upgrade steps
for your app. - MCP
cccc_message_sendrefuses non-emptyevent_idorreply_to: use
cccc_message_replyto answer an existing message. Blank values are treated
as absent. - Custom speech-recognition model IDs in
config/voice-models.jsonmust start
with a lowercase letter or digit and must not end in.. A local model installed
or updated by this release may appear uninstalled after a downgrade; reinstall
it in the older version. - This CCCC release does not include an SDK update; the next SDK release will be
prepared separately. A contract and code comparison indicates that common
messaging, inbox, history, Group, agent, context and task paths in
cccc-sdk0.4.41 remain compatible; that version has not yet had a complete
end-to-end check against this release. Five Python and TypeScript Voice
Secretary convenience methods call operations that have returnedunknown_op
since CCCC 0.4.43:assistant_settings_update,assistant_status_update,
assistant_voice_document_input_read,assistant_voice_prompt_draft_submit
andassistant_voice_request. Those operations were removed in CCCC 0.4.43,
not in this release. - MCP
cccc_tasknow returns short rows by default; read a specific task for
its notes, checklist and outcome. Several message-tool receipts omit text or
insight that exactly matches the input and identify omissions in
mcp_omitted_fields; the ledger and delivery still contain the full message.
Chet: One Assistant for Text, Voice and Groups
The former Voice Analyst is now Chet. Open Chet to send text without starting a
voice call; text and assistant-mode voice share its session. CCCC keeps sent
text, the voice transcripts it actually observes, work receipts and results on
its host. Unsent drafts remain in the browser. A Group selected when you send is
included as context.
A Group agent can send a message to @chet as its only recipient, with Send
or Send + Reply. A Web administrator can select @chet in the recipient row.
Chet's messages in a Group appear under its own name; replies to them can reach
Chet even outside a voice call. The conversation identifies the source Group
and sender, links back to the message, and shows if no reply is observed yet.
Unconfirmed results are not automatically replayed.
Chet's session can contain your conversation and content from multiple Groups.
The restrictions against putting another Group's content into a reply are
instructions to the model, not isolation or a permission boundary. Chet does
not forward between Groups or send through Connect on your behalf.
Pin, Find and Answer Messages
- Pin message in a message's menu keeps a reference in the Group's Pinned
view, with a count and a link to the message in the conversation. Pins are
shared by authorized Web users of that Group, up to 100 per Group. A read-only
exhibit cannot see or change the list; CCCC does not deliver pin state to
agents through messages or tools. Copy Groups does not copy pins. - Quick reply offers four ready replies on eligible agent messages. Selecting
one sends it immediately as a reply to that agent; a retry after an uncertain
result can send it twice. - When you change a filter, CCCC tries to keep your reading place using
messages the new view has loaded; if it cannot, the view opens at its newest
messages. Waiting for you and Pinned keep a message only when they
list it. Show in chat opens a message in its conversation and can return
to the filtered view. Filtered results with earlier history offer
Load older results, including when the current matches do not fill the
screen. - Already-loaded messages opened from a link, search or notification stay in
the live conversation when no filter is active. An older, unloaded message
opens on its own, with controls to reach newer messages. - The option under Appearance to hide Waiting for you indicators removes
the badges and filter while keeping questions answerable in their messages.
Browser notification settings remain separate. - A click on a notification is less likely to lose its target when the page or
browser is slow to respond. It is still a best-effort path, not a guarantee
that every notification will open its message.
Claude's Own Confirmation Terminal
When a managed Claude agent needs workspace trust or the disclaimer for
--dangerously-skip-permissions, CCCC opens Claude's prompt in that agent's
terminal and waits for you. CCCC does not answer for you. After you accept, it
tries to connect the managed session; messages wait for that connection.
If the prompt ends without connecting, automatic starts pause for that agent
during the current daemon run. You can launch it again or start the Group
explicitly. The Group's other agents can still start. A daemon restart may
retry the agent, but does not constitute acceptance. Pausing or stopping the
Group closes a waiting prompt.
Web and Everyday Workflows
The Web UI's pixel-terminal design covers chat, task board, settings, terminal
and file viewers, Chet, Voice Secretary and presentations. Appearance offers
light and dark themes, message-width and font controls, and a Motion option;
the system's reduced-motion setting also holds nonessential motion still.
Message actions appear beside the message header on sufficiently wide pointer-driven
layouts; touch and narrow layouts use the message menu (⋮) in the header. In a
filtered view, Show in chat follows the time on those layouts. The member bar
floats above the composer. On phones, touch-scrolling toward newer messages hides
the header, filters and member bar even when the gesture starts on a message
link or action, or follows a filter tap. The list keeps its bottom
space while the bar is hidden, so the reader is not pulled to the end. A touch
scroll that moves the list can take focus out of the main message box, allowing
the browser to dismiss its keyboard. A draft stays; an active input-method
composition and an in-message answer editor are left alone.
Web links in ordinary Markdown open in a new tab; relative links, anchors and
mailto: keep their existing behavior. A page can offer a refresh after the
server's Web interface changes, but never reloads itself; confirming the refresh
may discard unsaved page changes. The session-connection dialog now starts with
the target Group and session selection, and folder creation gives clearer
feedback while preserving the entered name.
Access, Recovery and Other Fixes
- Images sent from the Web page no longer rely on a temporary browser preview
after the upload is confirmed. They remain available when a filter change or
a long conversation causes the message to be displayed again. - A Web access token limited to certain Groups could access, change or delete
other Groups. Group authorization now checks the Group identified by the route.
Web message routes also reject caller-supplied agent or Chet authors and use
the authenticated human'suseridentity. - Copy Groups no longer includes Weixin login credentials, DingTalk reply
sessions, pending IM binding keys, legacy actor secrets or in-progress
temporary files in the Group root and state directory. - A queued terminal submission is tied to the terminal session whose state was
checked; replacing that terminal during delivery no longer sends the
submission to the replacement on the strength of the old check. - Voice cleanup and Web Access Apply retain recovery work when cleanup cannot
be confirmed. Review earlier processes shows records still needing
attention. Accepting a record stops waiting for it; it does not stop the old
work, which may still change files or incur provider costs. - Linux recovery uses stronger process identity where available and retains
uncertain records for review; some systems still use approximate matching.
On macOS the existing crash watchdog remains unchanged and has a potential
misidentification risk. Native macOS and older Linux verification remains
outstanding; see the Web UI guide for the precise limits and recovery steps. - Windows PTY agents use compatible local-drive working paths where they can be
simplified safely. Unsupported paths for a detected cmd.exe launch are
rejected with an explanation instead of silently starting in the wrong
directory. The global secretary and Hermes resume compare resolved workspace
paths rather than requiring the same textual spelling. - Voice Secretary detects a document changed since it was opened, preserves the
draft, and lets you load the newer text or explicitly overwrite it. A failed
local ASR model update keeps an already working installation usable. - The answer box for a choice question accepts Ctrl+Enter or ⌘+Enter while
leaving an active input method's composition alone.
See the changelog,
Web UI guide,
local sessions guide
and Voice Secretary guide
for the full changes and operational details.
Validation Scope
Release preparation ran the Rust workspace tests and static checks, the Web
tests and static checks, and repository and documentation checks. An isolated
smoke test of the packaged Linux build covered its served Web assets, layout,
touch scrolling at phone width in Chromium's emulation, and the confirmation
flow with a fake Claude. Windows-specific tests and a native Windows debug build
were checked as well.
This is not complete live acceptance. Real iPhone scrolling and input methods,
a real Claude confirmation prompt and native macOS were not exercised in these
checks. The Windows and macOS release builds come from release CI. Live Voice
remains experimental.
Thanks to waterbang, and to everyone who contributed code, tested and reported
issues.