ConnectOnionConnectOnion

1.9.2b5: hand a session to someone else's agent

A 1.9.2 beta; stable remains 1.9.1. Install it by pinning the version:

python -m pip install --upgrade 'connectonion==1.9.2b5'

co handoff (Experimental)

You finish discussing a task with your Codex or Claude Code and say "hand this to Ody". The receiving agent continues it without you rewriting the background.

  • co handoff send <who> "<what>" drafts a brief from the current session:
    • its sections are Task, Where it stands, Decided, Rejected and why, Open questions, and Code and references;
    • it reads compacted sessions too: Claude Code's compact summary, and for Codex the user's own earlier messages, because the Codex summary is encrypted on disk;
    • it previews by default and shows exactly what will leave the machine. It refuses credentials and invite codes, and lists private paths;
    • --draft <id> --yes sends exactly the previewed text, checked by its content hash.
  • The recipient runs co handoff inbox → show → open. open starts a dedicated Codex (or --agent claude) session seeded with the brief, in read only mode first, and prints the command to resume it.
  • co handoff contact <name> <email|0x> saves who "Ody" is.
  • The handoff skill (from 1.9.2b4) now uses these commands, and keeps its audit, approval and no-invite-code rules.

How it was checked: eight real runs across two machines, four each way, with real mail and real Codex sessions on both ends. Each opened session answered three questions only the brief could answer, including "why not option B?", all from the brief. Seven existing sessions, compacted ones included, drafted correct briefs.

Known limits:

  • An agent in full-auto mode can approve its own preview. The gate today is your coding agent's command approval; a person-only approval is #2375.
  • There is no notification on the recipient's side yet: they run co handoff inbox.
  • Delivery is by agent mailbox only. Direct agent-to-agent delivery comes with a unified co host.

Codex and Claude Code know co

co init, and every agent start, write a generated index of co's commands into ~/.codex/AGENTS.md and ~/.claude/CLAUDE.md. The index sits between markers and nothing else in the file changes. Without it, a fresh Codex asked "What's open on my Linear board?" used co linear in 0 of 3 runs; with it, 3 of 3. co skills index --remove takes it out. co doctor reports a missing or stale index.

Fixes

  • co ai runs the command instead of looking for its key in keys.env (#2115), and its shell runs the co that is running it (#2114).
  • co ai reaches for a service's co command before the browser (#2111).
  • An agent's mailbox is 0x + 10 hex everywhere, as oo-api names it (#2359).
  • A tool call with no name no longer ends the run (#1356).
  • co search waits for a grounded answer and calls a timeout a timeout (#1933).
  • A directory grep skips ignored folders and huge files; a search from $HOME finishes (#1453).
  • Feishu history recovery reports a missing scope once and stops retrying (#2084).
  • co eval loads a Host file whose create_agent is hosted under __main__ (#1778).
  • co auth says credentials are global by default (#2280); the benchmark hint invokes the skill it names (#1810); help-gate reports a crashed review as unavailable, not passed (#2259).

View Markdown source