Your agent conversations should talk to each other.
You shouldn't have to relay every message.
Connect separate sessions of the same agent—or different agents.
Let them discover relevant work, share changes, and continue with context.
See the effect · Try it · Harnesses · Docs · 简体中文
You approved a decision in one chat. Another chat is still working from the old version. ThreadMesh helps related agent sessions share useful changes without making you explain them again—even when both sessions use the same product.
You choose the collaborators. The models decide what is worth sharing.
| The repeated chore | What ThreadMesh offers |
|---|---|
| “Tell the other session what changed.” | Selected peer goals and advisory handoffs; a model chooses whether to contact a peer. |
| “Remember what we already agreed.” | Each receiver keeps its own task context and checks advice against earlier decisions. |
| “Was it received—or actually done?” | Workspace inbox/disposition records plus examples that verify the receiver's own artifact, not just delivery. |
Two ways to use it: an optional Codex desktop skill over native task tools, or a local workspace with a persistent inbox, supported harness adapters and explicit portable checkpoints. These are different integration paths, not one universal desktop connector. Codex supplies the skill route's transport. What we add—and when native Codex is enough →
Concept illustration of the handoff—not a shipped chat UI or a recording.
A knows the new product facts. B remembers your earlier website decision.
In one controlled Codex desktop run, both tasks completed their initial work before adopting the skill. B already knew to keep the signup button unchanged. After explicit pairing, the only business request went to A:
Rename the product to Member Portal and limit the free plan to five projects. Use US spelling. Keep the paid-plan price unchanged. Update the approved product facts.
No “send this to B.” A chose to check B's status and send the relevant facts. Original B then continued and edited its own website copy. The manager did not relay the change, resume B manually or write B's file.
| Website copy | Before | After |
|---|---|---|
| Product and spelling | Organise work with Team Hub | Organize work with Member Portal |
| Free allowance | Unlimited free projects | Up to five projects on the free tier |
| Earlier button decision | Create my workspace | Unchanged |
| Paid price | $12/month | Unchanged |
The ordinary request to B's completed result took about 49 seconds, excluding setup. In separate controls, A held its advice while B was busy and made no further send after collaboration was stopped. Actual messages, B's diff and audit →
This is one maintainer-operated pair with prior context, not a speed guarantee or independent-user onboarding result. Codex provided native messaging and continuation; the skill provided guidance. The table summarizes checked files, not a screenshot. Simultaneous typing races and plugin hot-loading remain unverified.
| Your starting point | Choose this path |
|---|---|
| I use existing Codex desktop tasks | Native-task workflow: no Node/MCP/hook setup, but explicit pairing and available host tools are required. |
| I want a self-contained real example | Codex package example: one terminal, two new disposable sessions, existing account and quota. |
| I want to connect my project sessions | Workspace guide: more setup; persistent inbox and supported harness integration. |
Start in your existing Codex tasks →
Set the selected peer and shared topic in each original task, wait for both setup confirmations, then give one task your ordinary business request. The effect to look for is the other original task acting correctly, not a generated prompt or a sent badge. Ask “Check ThreadMesh status” in the task to distinguish setup, pending advice and observed results; stop in both tasks to stop both directions. These are natural-language requests, not slash commands or a separate control service.
The website helper has been removed. The product target is install once, choose which tasks may collaborate, then work normally in your agent. The manual workflow above is an experimental fallback, not that finished install experience. Desktop plugin installation and adoption by existing tasks remain unverified; a working CLI sample does not close this gap.
Another real case: A changed an API contract; original B updated its own client and tests, retaining the earlier timeout and cursor-encoding decisions. Browser checks and the actual API handoff →
Tested, still experimental: the public-workflow + chat-link run resolved the original two tasks without a global task list. A chose to send; original B updated its own copy and preserved its button and price. The manager supplied the documented link format through native tools; manual GUI onboarding and normal plugin installation remain unverified. The skill cannot add absent host tools or enforce privacy and race-free sending. If native Codex already meets your needs, use it directly; no measured advantage over native-only use is claimed.
Requires Node 22+ and a working, authenticated Codex installation. Install the version-pinned v0.1.0-alpha.3 package from GitHub Releases; it is not on the npm registry:
npm install --foreground-scripts --loglevel=info \
https://github.com/fyaic/threadmesh/releases/download/v0.1.0-alpha.3/fyaic-threadmesh-0.1.0-alpha.3.tgz
npx threadmesh try --liveThe default is the Codex → Codex copy example. No Pi, second subscription, API key change, custom harness, test project or two-terminal setup is required. It uses your existing Codex configuration and normal quota. On macOS, ThreadMesh can choose a newer desktop-bundled runtime over an older PATH installation; you do not always need a separate CLI install.
Installation progress and runtime stages are visible. Native builds, network
conditions and model behavior affect timing. The live run has a 300-second
overall limit; unfinished or wrong work fails instead of becoming a preview.
Omit --live to read instructions without a model call. Processes stop at the
end; private results remain for inspection.
Permissions, results and failures →
Separate from the desktop case above, this installed-package Codex example passed in about 273 seconds under its default limit. An earlier diagnostic passed in 184 seconds with an extended budget. The runner continues its own receiver after actual delivery; it does not attach existing desktop chats. Packaged-run evidence and retained failures →
Keep its existing configuration and select it explicitly:
npx threadmesh try preferences --agent pi --live
npx threadmesh try api --agent pi --liveThe API example currently requires Pi; Codex first use supports copy only. Neither path requires the other product. Pi options and limits.
npx threadmesh preview preferencesSimulated agents, real local coordinator. No API key, model quota or chat access.
Also try preview api and preview quota. These explain the workflow;
they are not evidence of model initiative. For your own projects, use the
advanced two-terminal workflow.
| Harness | How it connects | Automatic idle follow-up |
|---|---|---|
| Codex desktop | Optional skill over host-provided native task tools | One controlled pair passed; Codex supplies continuation; availability varies by host |
| Codex package / projects | try: native App Server pair; project launcher: scoped MCP + hooks |
try runner continues its own receiver; not arbitrary old-chat attachment |
| Pi | Native extension; four tools and turn-start context | Opt-in --wake-idle; busy-turn guard, not universal typing-race proof |
| Kimi Code | Project MCP configuration; other servers retained | No |
| DeepSeek Harness | Official dsh MCP plugin via a Cordis patch |
Not claimed |
| Other harnesses | Standard MCP configuration or JavaScript SDK | Requires host integration |
Versions checked: Codex 0.153.1 for the new-pair example, 0.145.0 for the
earlier project launcher; Pi 0.84.2, Kimi 0.39.1, DeepSeek 0.1.2-rc.1.
DeepSeek passed no-model native tool/delivery checks; live
initiative is pending credentials. Kimi's latest attempt hit weekly quota.
Earlier Codex→Kimi and Pi→Kimi passes used a more constrained adapter path.
Versioned evidence and compatibility limits →
- “I already told the other agent.” Share an API change, approved term or research finding with the workstream that needs it, without relaying it yourself.
- “Don't lose our decisions.” Publish selected constraints and save a checkpoint instead of broadcasting entire private conversations.
- “My quota ran out halfway through.” Start another harness with the last saved goal, decisions, constraints and next step.
These are practical uses, not a promise that every scenario succeeds.
For an already configured workspace—not the disposable try sample—run from
its directory, or supply --workspace /path/to/your/room:
npx threadmesh status
npx threadmesh continue backend --agent kimi --name recoveryA checkpoint must already exist, and the destination needs available quota. Saving is model-selected, not guaranteed automatic backup. This starts a new native session with explicit context—not full chat history, hidden state, permissions or cross-machine file transfer. Actual quota-blocked long-session recovery is still unverified.
Checkpoint guide: what survives, what doesn't →
In the workspace route, joining shares published goals and advice, not all private chats. Inbox reads
do not consume messages; acceptance does not prove completion. Pi idle wake is
opt-in. Use npx threadmesh status to inspect or npx threadmesh mute client to mute.
This is an experimental, same-owner local workspace, not a multi-tenant security boundary. It does not automatically attach arbitrary old tabs, wake every agent product or guarantee correct work. Host tool permissions still apply. The desktop skill uses Codex's native history and model-followed rules instead; workspace inbox and mute commands do not control that separate route.
Safety model · Security policy
Next: make same-product session collaboration easy to adopt, preserve full business constraints, and verify prior-session continuity and independent first use. Focused follow-up · Roadmap
Report the first failed step, a silent agent, an irrelevant message or a useful collaboration. Building a harness? Start with the workspace/MCP guide or SDK adapter guide.
Report a first run · Discuss a workflow · Contribute · Documentation
If it saves you a handoff, a star helps others find it. Apache 2.0.