Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Aug 18:44
· 4 commits to main since this release
Immutable release. Only release title and notes can be modified.

ccc-morph v0.3.0

This release lets you capture a Claude Code or Codex response straight into a note (the latest one, or an earlier one you pick from a scrollable history), so a useful answer or plan is one keystroke away from becoming a saved note.

ccc-morph is still the same transparent PTY wrapper that remaps key sequences to your own actions for Claude Code, Codex, or any interactive terminal program. v0.3.0 builds response capture on top of the v0.2.0 notes hub.

Highlights

  • Capture the latest response: in the notes hub (Ctrl-B N), press c to open the note editor pre-filled with the wrapped program's most recent response. For Claude Code and Codex that is the agent's latest message (read from its session transcript); for anything else it is the ANSI-stripped terminal buffer. Trim it and whatever you keep becomes the note.
  • Browse the response history: press C for a list-and-preview of the wrapped program's recent responses (newest first). Move with ↑/↓, page a long entry with the scroll keys, and press Enter to capture the selected one. The latest-capture c stays a one-key shortcut for the common case.
  • Capture plans, too: the history also surfaces Claude Code and Codex plans, labelled plan:. Because Claude Code overwrites its plan file on each revision, the history is often the only place to recover an earlier plan. Selecting one captures the clean plan markdown.
  • Claude Code and Codex keep running while you take notes: the bundled Claude Code and Codex app configs set notes_child_mode = "continue", so neither agent is paused while the notes hub or editor is open. (The global default is "pause", which protects programs that stream raw output.)

Everything from v0.2.0 still works unchanged: the persistent per-directory notes hub, add/edit/insert/archive, --ensure-defaults, the bundled Claude Code and Codex configs, --check-config, and self-contained binaries.

Capture limitations

Response history works for fresh sessions and deterministic resumes by session id or latest session. When you resume through Claude Code's or Codex's interactive session picker, ccc-morph cannot reliably identify the selected transcript, so c falls back to the terminal buffer and C has no history entries. Capture cannot always distinguish multiple sessions of the same agent in one working directory. Running one Claude Code session alongside one Codex session is safe, but for fresh sessions, or when resuming Claude Code with --continue, concurrently starting another instance of the same agent can make c or C select that other session's response. Resumes by explicit session id, and Codex resume --last, pin the chosen session and are unaffected.

Upgrading

Download the new tarball, extract it, and re-run ./install.sh. It swaps in the new binary, installs any missing bundled app configs without overwriting existing ones, and runs --ensure-defaults to top up the global config. Existing app configs are preserved; compare them with the newly bundled versions if you want to adopt any app-config changes. (--ensure-defaults only updates the global config.)

Install

Quick install:

curl -fsSL https://raw.githubusercontent.com/closetheloop-dev/ccc-morph/main/scripts/install.sh | bash

The installer detects your platform, downloads the matching release archive, and verifies its SHA-256 checksum. See the README for version pinning, installation-directory overrides, and manual installation.

Full install, configuration, and usage details are in the README.

Requires Linux or macOS; Windows works via WSL2 (use the linux-x64 binary). Licensed under MIT; see the bundled notices for embedded-runtime licenses.