Atlas / Skills / aannoo / hcom

hcomBLOCK

skills/aannoo/hcom

Let AI agents message, watch, and spawn each other across terminals. Claude Code, Codex, Antigravity CLI, Cursor CLI, OpenCode, Kilo, Pi, Kimi

Verdict
BLOCK
Grade
D
Trust score
69 /100
Version
—
Hosts
5 documented
License
MIT
Stars
571
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Hook your coding agents together

[](https://github.com/aannoo/hcom/actions/workflows/ci.yml) [](https://github.com/aannoo/hcom/releases) [](https://github.com/aannoo/hcom/blob/main/LICENSE)

CLI tool that agents use to message, watch, and spawn each other across terminals.

Start an agent with hcom in front, then prompt normally.

Use it to coordinate multi-agent pipelines, run different AI CLIs as each other's subagents, or just to avoid copy-pasting.

Works with: claude, codex, opencode, copilot, qoder, grok, pi, omp, agy, cursor, kimi, kilo, gemini

https://github.com/user-attachments/assets/1ce23ed9-f529-4be0-8124-816aa4c2fd43

Install

python - macOS, Linux, Windows:

uv tool install hcom

homebrew - macOS, Linux:

brew install aannoo/hcom/hcom

Other install options

# macOS, Linux, Android
curl -fsSL https://github.com/aannoo/hcom/releases/latest/download/hcom-installer.sh | sh
# Windows
irm https://github.com/aannoo/hcom/releases/latest/download/hcom-installer.ps1 | iex
# Update any existing install
hcom update

Quickstart

Terminal 1:

hcom claude

Terminal 2:

hcom codex

Prompt:

ask the other agent their favorite cake

  • review what claude did and send it fixes
  • spawn 3x opencode, split work, collect results
  • fork yourself to investigate the bug and report back
  • when codex goes idle, send it the next task

Open the TUI dashboard:

hcom
Read from source at commit d93b6c0cc11cOBSERVED · 2026-10-14
02

Install

Commands as the repository documents them. They are shown, not run.

git clone https://github.com/aannoo/hcom.git
uv tool install hcom
uv tool install hcom
uv tool install hcom
git clone https://github.com/aannoo/hcom.git
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
copilotmentioned
cursormentioned
gemini-climentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: hcom-agent-messaging
description: >
  Multi-agent communication for AI coding tools. Agents message, watch,
  and spawn each other across terminals. Use when setting up hcom or
  troubleshooting.
---

# hcom — multi-agent communication for AI coding tools

AI agents running in separate terminals are isolated. hcom connects them via hooks and a shared database so they can message, watch, and spawn each other in real-time.

Start an agent with `hcom` in front, then prompt normally.

Use hcom to:

- coordinate multi-agent pipelines
- run different AI CLIs as each other's subagents
- avoid copy-pasting

```bash
uv tool install hcom
hcom claude       # or: hcom gemini, hcom codex, hcom opencode, hcom kilo, hcom pi, hcom omp, hcom agy, hcom cursor, hcom kimi, hcom copilot, hcom qoder, hcom grok
hcom              # TUI dashboard
```

Quickstart:

```bash
# terminal 1
hcom claude

# terminal 2
hcom codex
```

Prompt normally — e.g. `review what claude did and send it fixes`

---

## what humans can do

tell any agent:

> send a message to claude

> when codex goes idle send it the next task

> watch gemini's file edits, review each and send feedback if any bugs

> fork yourself to investigate the bug and report back

> find which agent worked on terminal_id code, resume them and ask why it sucks

---

## what agents can do

**Message** each other in real time: mid-turn or wake immediately when idle

**Observe** each other: status, transcripts, file edits, live terminal screens, command history.

**Subscribe** and notify on status changes, file edits, collisions, specific events. React automatically.

**Spawn**, **fork**, **resume**, **kill** in any terminal emulator or headless.

run `hcom --help` for full command syntax and flags.

---

Works with Claude Code, Gemini CLI, Codex, OpenCode, Kilo Code, Pi, Oh My Pi, Antigravity, Cursor, Kimi, Copilot, Qoder CLI, Grok Build, and other tools

---

## setup

When this skill is invoked, first run:

```bash
hcom status
```

If hcom status works: run `hcom list`

If hcom list shows "Your name: <name>" where `<name>` is not "(not participating)": congratulations!

If running `hcom status` returns "command not found", install first:
```bash
uv tool install hcom
```

See the [hcom README](https://github.com/aannoo/hcom#install) for other install options.

If hcom status shows a list of CLI tools and you are not any of them, run `hcom start` to connect to hcom.

If you've just installed hcom now or if hcom list shows "Your name: (not participating)" and you are a tool in the hcom status list of CLI tools:

Relaunch into hcom properly for automatic message delivery and full hcom functionality. User should exit and run `hcom <tool>`.
Or if you know your sessionID/ses_/thread_name: user can exit and run `hcom r <session-id>` to resume you inside hcom. See `hcom r --help`.

---

## troubleshooting

### "hcom not working"

```bash
hcom status          # check installation
hcom hooks status    # check hooks specifically
hcom relay status    # check cross-device relay
```

still broken?
```bash
hcom reset all # backup config/db + reset it
hcom claude          # fresh start
```

still broken after that?
```bash
git clone https://github.com/aannoo/hcom.git
cd hcom
```
Read code and figure out what is going on.


### sandbox / permission issues

Use project-local hcom state when the normal hcom directory is unavailable:

```bash
HCOM_DIR=$PWD/.hcom hcom <tool>
```

## files

| what | location |
|------|----------|
| database | `~/.hcom/hcom.db` |
| config | `~/.hcom/config.toml` |
| env | `~/.hcom/env` |
| logs | `~/.hcom/.tmp/logs/` |
| user scripts | `~/.hcom/scripts/` |

---

## more info

```bash
hcom --help
hcom <command> --help
hcom run docs --scripts   # script authoring info
```

Github: https://github.com/aannoo/hcom
05

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)WARN
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (13 observation(s))
Network
declared (9 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (25)

HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
src/hooks/copilot.rs:1629
"hcom send @luna -- $(cat ~/.ssh/id_rsa)",
Why it matters. touches a credential store
HIGHPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
src/instance_names.rs:46
"help", "exit", "quit", "sudo", "bash", "curl", "grep", "init", "list", "send", "stop",
Why it matters. asks for elevated privileges
MEDIUMInventory / provenance · inv.symlink · CWE-1104
plugin/hcom/skills
plugin/hcom/skills
Why it matters. link not followed
MEDIUMFilesystem / path · fs.system_paths · CWE-22, CWE-59
src/hooks/codex.rs:1919
assert!(!is_hcom_codex_command("/usr/local/bin/codex-stop"));
MEDIUMFilesystem / path · fs.system_paths · CWE-22, CWE-59
src/hooks/gemini.rs:1858
"command": "/usr/local/bin/my-script"
MEDIUMFilesystem / path · fs.system_paths · CWE-22, CWE-59
src/runtime_env.rs:587
"/usr/local/bin/hcom"
MEDIUMFilesystem / path · fs.system_paths · CWE-22, CWE-59
src/terminal.rs:4368
assert!(is("/usr/local/bin/herdr"));
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
src/instance_lifecycle.rs:1521
"first sighting of a beacon gap should still grace"
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
src/instance_lifecycle.rs:1532
"an unchanged beacon must not keep suppressing cleanup"
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
src/instance_lifecycle.rs:1579
"long-lived loops must publish the liveness beacon"
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
src/instance_lifecycle.rs:1593
"a one-shot writing the beacon would grace every later invocation"
MEDIUMPrompt injection · scope.undeclared_system · CWE-94, CWE-1427
<declared scope>
system use found in code, not declared in the description
Why it matters. the description does not admit a capability the code has
Fix. declare system use in the description, or remove it
LOWInventory / provenance · inv.hidden_file · CWE-1104
.node-version
.node-version
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/hooks/omp/plugin.rs:5
pub const PLUGIN_SOURCE: &str = include_str!("../../omp_plugin/hcom.ts");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/update.rs:811
"../../Scripts/hcom.exe,sha256=test,6\n",
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/update.rs:842
"../../../bin/hcom,sha256=test,6\n",
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/support/pins.rs:5
const PINS: &str = include_str!("../../scripts/mock-tools.pins");
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/real_tool_claude.rs:399
h.set_launch_env("ANTHROPIC_BASE_URL", "http://127.0.0.1:65535");
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/real_tool_claude.rs:402
env.contains("ANTHROPIC_BASE_URL=http://127.0.0.1:65535"),
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/support/claude_mock.rs:307
format!("http://127.0.0.1:{port}")
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/support/codex_mock.rs:50
format!("http://127.0.0.1:{port}/v1")
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/support/codex_mock.rs:186
format!("http://127.0.0.1:{}/v1", self.inner.port())
LOWPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
.github/workflows/ci.yml:140
sudo apt-get update
Why it matters. asks for elevated privileges
LOWPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
.github/workflows/ci.yml:141
sudo apt-get install --yes --no-install-recommends bubblewrap apparmor-profiles apparmor-utils
Why it matters. asks for elevated privileges
LOWPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
.github/workflows/ci.yml:142
sudo install -m 0644 \
Why it matters. asks for elevated privileges

Gates applied: no_behavioural_pass.

Audited 2026-10-14 · audit v0.4.1 · source sha d93b6c0cc11cfull audit observations/trust-audit/skill/aannoo__hcom.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-14d93b6c0cc11cBLOCKD69first audit
07

Questions

What does the hcom skill do?

Let AI agents message, watch, and spawn each other across terminals. Claude Code, Codex, Antigravity CLI, Cursor CLI, OpenCode, Kilo, Pi, Kimi

Is hcom safe to install?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What can hcom access on my machine?

The audit observed that it reaches the network and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.

Which assistants does hcom work with?

Its documentation mentions claude-code, codex, copilot, cursor and gemini-cli. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (d93b6c0cc11c), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement