hc-changelog - release history for harness-convert
Newest first. Full GitHub notes and assets: releases.
Interactive CLI (gh-shaped, stdlib only). Flags always win; missing pieces prompt on a TTY. Bare hc runs a convert wizard (from → session → to → preview → confirm write). hc list on a TTY lets you arrow/jk pick a session and continue into convert.
-y / --yes writes without asking. --no-interactive and HC_NO_INTERACTIVE=1 force the scriptable path. Pipes stay plain tables. Still zero runtime dependencies.
Grok Build adapter (full R/W). --from grok / --to grok against ~/.grok/sessions (or $GROK_HOME). Writes summary.json, chat_history.jsonl, and updates.jsonl so grok --resume loads history. Non-UUID source ids map to a deterministic UUID. Title enrichment across harnesses.
Multi-session list. hc list --from HARNESS -n N shows the newest N sessions for the cwd (default 10): id, UTC time, title. All harnesses including Cursor.
Also: landing/README updates; hermetic tests for Grok write, round-trip, locate, and list.
Read-only Cursor adapter. --from cursor reads content-addressed protobuf blob sessions under ~/.cursor/chats (full tool outputs). --to cursor is refused: no import path to validate against. Subagent sessions (no meta.json) are excluded from locate.
Packaging and release-pipeline polish after 0.2.1. Same conversion surface as 0.2.1.
Codex >= 0.144 resume fix. Emit model_provider (and related identity fields) on session_meta so TUI resume does not die with an empty provider.
OpenCode ses_ id mapping. Foreign session ids are mapped to deterministic ses_-prefixed ids on write so opencode -s can resume after import.
OpenCode as a third harness: any direction between Codex, Claude Code, and OpenCode. Converting into OpenCode writes a canonical import file; resume with opencode import then opencode -s.
npm package (@theharshitsingh/hc) and Homebrew formula (harshitsinghbhandari/tap/harness-convert). Landing page shipped.
First release. Codex ↔ Claude Code session conversion, native resume, rendered scrollback with tool cards, title transfer, and ragged-tail handling. Stdlib-only Python CLI.
MIT · built by Harshit Singh Bhandari