Releases: aannoo/hcom
v0.6.19
hcom 0.6.19
Relay rewrite, config migration.
-
Relay: MQTT — MQTT pub/sub instead of HTTP polling. Public brokers by default or private.
hcom relay new/hcom relay connect <token>.hcom relay hfremoved. -
Config: TOML —
config.env→config.toml+env. Terminal presets fromsettings.tomlmerged in. Auto-migrates on first run. -
Unified launch —
hcom [N] [claude|gemini|codex]single code path. No behavior change. -
Faster hooks — Removed synchronous relay pulls from hook execution. Daemon handles sync in background.
-
Richer relay state — Remote instances now show
tag,tool,background,status_detailinhcom listand TUI. -
Hot-reload relay config —
relay connect/relay disconnect/relay newtake effect immediately without daemon restart. -
PTY title fix — Title writes no longer corrupt output when escape sequences span read boundaries.
v0.6.18
hcom 0.6.18
Resume improvements, request-watch, sleep/wake detection, fatcow script.
-
Resume flag pass-through —
hcom r luna --model opuspasses extra flags to the tool. Tag preserved. Messages sent while stopped get delivered on resume (cursor restoration). -
api.launch(resume="name")— API accepts instance names, not just session IDs. Resolves tag-prefixed names, loads snapshot automatically. -
Request-watch —
--intent requestauto-watches the recipient. Sender notified if recipient goes idle or stops without responding. Auto-cancels on reply. -
Structured event filters —
api.events(agent="nova", type="message", sender="luna")— kwargs mirror CLI flags. AND across filters, OR within. -
Fatcow script —
hcom run fatcow --path src/toolslaunches a headless agent that reads every file, memorizes with line refs, answers questions via hcom. Live mode (stays running, tracks file changes) or dead mode (--dead, ingests then stops, resumed on demand with--ask). -
Sleep/wake detection — Detects system sleep via wall-clock drift. 60s grace period after wake skips stale cleanup so agents aren't killed.
-
Stop snapshot race — Log lifecycle event before deleting instance row (was after). Prevents lost snapshots on DB lock contention.
-
Env sanitization — Terminal launcher strips hcom identity/tool vars from subprocess env. Fixes Terminal.app inheriting stale context.
-
Pane close reliability — Falls back to
terminal_idwhenpane_idmissing. Rust PTY retries temp file read with backoff for kitty launch race. -
Cleanup — PTY runner script consumes full env dict (removed individual env construction). Display names (tag-name) used throughout status/hooks. Better CLI error messages with help text.
v0.6.16
Terminal lifecycle, Codex integration, bootstrap & UX polish.
-
HCOM_NOTES — Injects custom text into agent system context at startup
hcom config notes. -
Custom close commands — Terminal presets support
closewith{id}placeholder (stdout from open command). Define in~/.hcom/settings.toml. -
Managed terminal status —
hcom config terminalshows managed vs unmanaged.--setupauto-configures kitty remote control. -
Codex session binding — Uses
CODEX_THREAD_IDas session identifier. Opportunistic bind on first hcom command. -
Codex sandbox alignment — Modes match Codex presets. Adds
network_access=truefor Unix socket support (tmux/kitty). -
Tag display names — Stop/kill/PTY title show
{tag}-{name}. Updates instantly on tag change. -
Bootstrap rewrite — Clearer delivery instructions, active instances grouped by tool, bundled scripts listed.
-
Race fixes —
hcom listensets gate status before async setup (blocks PTY injection). DB init skips schema creation if already at version. -
PTY improvements — Title writes deferred to no-output iterations. Multiline input box detection.
-
Cleanup — 18 dead code items removed, auto-approve defaults to false, HCOM_TERMINAL not leaked to child envs, name generation 3-tier fallback.
v0.6.15
Bugfixes and reliability improvements.
- Codex delivery — Use
›prompt instead of? for shortcuts(broken in narrow terminals) @namefallback —@lunaresolves tagged instances likeapi-luna- PTY delivery — Start delivery thread on timeout, not just child output
- Listen race — Skip PTY injection when
hcom listenis active - Subagent cleanup — Clear parent's
running_tasksfor subagents that never started - Python discovery — Find sibling
python3in venv/uv installs
v0.6.14
10x faster hooks+CLI — Rust binary + Python daemon. ~20ms per hook (was ~200ms).
Rust PTY — 4x less memory per agent, no GC pauses, better terminal parsing.
Terminal integration — tmux/kitty/wezterm auto-detected. Agents spawn as splits. hcom kill closes the pane.
Terminal control — hcom term luna views screen. hcom term inject luna --enter approves. Agents can control other agents.
Resume & Fork — hcom r luna resumes. hcom f luna forks. Works with Claude/Codex.
Lighter bootstrap — 600 tokens (was 2500). Commands discovered via --help.
API Group launches — Mixed tools in one call:
hcom.launch([{"tag": "writer"}, {"tool": "gemini", "tag": "reviewer"}])Send improvements — hcom send @luna -- text with --flags works. Everything after -- is literal.
Fixes — Fast transcript search, auto-cleanup stale instances, 35% smaller event output.
Requires Gemini CLI 0.26.0+
Install: pip install --upgrade hcom
v0.6.13
Bundle Prepare
- Added:
hcom bundle prepare- shows recent transcript, events, and files for bundle creation - Added:
hcom bundle cat <id>- quick bundle inspection - Added: Inline bundle creation via
hcom send --bundle-inline
Transcript Detail Levels
- Added: Detail levels for transcript refs in bundles (
normal,full,detailed) - Usage:
--transcript 1-10:fullor--transcript 20-30:detailed
Fixes
- Fixed: Transcript path discovery with multi-fallback resolution
- Fixed:
CLAUDE_CONFIG_DIRenvironment variable support - Fixed: Prompt detection reliability (removed flaky checks)
- Fixed: Bottom-to-top search for current prompt in Codex/Gemini
- Fixed: Messaging loops (
ack-on-inform,ack-on-ack)
Improvements
- Centralized bootstrap injection and transcript discovery
- Bundle size validation
- Better error messages and logging
v0.6.12
Bundles
- Added: New
hcom bundlecommand to manage structured context and artifacts. - Subcommands:
list,show,create,chain. - Messaging: Added
--bundleand--bundle-fileflags tohcom sendto attach bundles to messages. - Usage: Bundles allow passing structured data (refs, extends, etc.) alongside messages.
Event System
- Feature: Composable event filters.
- Removed: Legacy event presets in favor of the new flexible filter system.
- Added: SQL filter mode to
hcom listen.
Improvements
- UI: Targeted collision notifications in the TUI.
- Core: Added comprehensive type system and enhanced docstrings.
- Core: Consolidated PTY helpers and unified PTY handlers for better stability.
- Core: Improved argument resolution and error handling in tool launches.
v0.6.11
Multi-Tool Support
- Added: Gemini CLI integration
- Added: Codex integration
- Launch:
hcom claude,hcom gemini,hcom codex
Workflow Scripts
- Added: 6 bundled scripts (watcher, confess, debate, ensemble, glue, clone)
- Command:
hcom run <name> [args] - User scripts:
~/.hcom/scripts/*.pyor*.sh
Features
- Added:
hcom transcript timeline- cross-agent user prompt timeline - Added: 11 event subscription presets (collision, idle:name, file_edits:name, cmd:"pattern", etc.)
- Added:
hcom config <key> --info- detailed help per setting - Added:
hcom listen- block and receive messages - Added:
hcom status- installation diagnostics - Changed: Session-based Python API (
hcom.session())
Configuration
- Added:
HCOM_GEMINI_ARGS,HCOM_CODEX_ARGS,HCOM_AUTO_APPROVE,HCOM_DEFAULT_SUBSCRIPTIONS
v0.6.10
External stop enforcement - Instances cannot self-restart after being stopped by another instance.
CLI improvements - Version/help flags and reset command skip identity checks.
Hook removal feedback - hcom reset hooks shows "No hooks to remove" when appropriate.
Claude Code plugin - Install via:
/plugin marketplace add aannoo/claude-hook-comms
/plugin install hcom@hcom
v0.6.9
Message envelope, archive command, Python API, instance config
--intent,--reply-to,--threadflags for structured messaginghcom archive- query past sessions after resets- Python API (
from hcom import api) for scripting hcom config -i <name>- per-instance runtime settings- Thread → transcript rename
- Schema v4, tag/name separation, simplified scopes