GitHub - krasserm/agent-exchange: A toolkit for inter-agent messaging and coordination · GitHub
/" data-turbo-transient="true" />
Skip to content
Type / to search
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
krasserm
agent-exchange
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>3 Commits<br>3 Commits
.claude-plugin
.claude-plugin
.github/workflows
.github/workflows
agent-dispatch
agent-dispatch
agent-docker
agent-docker
agent-session-top
agent-session-top
agent-session-web
agent-session-web
agent-session
agent-session
docs/assets
docs/assets
plugin
plugin
site
site
.gitignore
.gitignore
AGENTS.md
AGENTS.md
README.md
README.md
View all files
Repository files navigation
agent-exchange: a toolkit for inter-agent messaging and coordination
agent-exchange enables supported terminal-based agents, currently Claude Code and Codex, to exchange messages through the asn command-line interface. It provides two doors into each session: a generic CLI for sending and receiving messages programmatically, and the agent's native terminal UI for direct human interaction. Sessions can run locally, remotely, or in containers.
A human typically gives a goal to a coordinator, which uses asn to organize other agent sessions. Coordinators and sub-coordinators are ordinary agent sessions given that role; there is no hidden orchestration engine. Worker sessions can communicate directly with peers. Humans can observe, guide, or take over any participant's session at any time.
agent-session-web shows every asn-managed session in one browser. Here a coordinator briefs a local Claude Code session, which uses asn to message a remote Codex peer; its reply returns to the same Claude Code conversation, while either terminal remains open to the human.
Projects
Project<br>Description
agent-session<br>The asn CLI for managing agent sessions, backed by persistent, distributed messaging infrastructure.
agent-session-web<br>A browser-based interface for viewing and interacting with all managed agent sessions.
agent-session-top<br>A terminal dashboard for monitoring agent sessions and opening any session for direct interaction.
agent-dispatch<br>A long-lived, intelligent front door that delegates work to project sessions or, for team requests, a coordinator.
agent-docker<br>A ready-to-use, non-root Docker environment for running agent sessions in local or remote containers.
agent-session is the core. The other projects add user interfaces, dispatch behavior, or an execution environment without introducing a different kind of agent session.
Getting started
Requirements
macOS or Linux
tmux and jq
uv and Python 3.13 or newer
an authenticated claude or codex executable on PATH
Feature<br>Additional requirements
Browser interface<br>Node.js 18 or newer and npm
Remote sessions<br>SSH access from the local machine to the remote machine that succeeds without prompting; Mutagen on the local machine; tmux, jq, and the authenticated agent executable on the remote machine
Container sessions<br>Docker and credentials for the selected agent on the machine running the container
asn prep --check reports missing requirements without making changes. Add --host HOST and/or --docker to check the intended remote or container placement. The agent-session README explains the preparation steps.
Claude Code and Codex are the two terminal-based agents supported today. Additional terminal-based agents can be integrated without changing the common asn interface.
Install asn
git clone https://github.com/krasserm/agent-exchange.git<br>cd agent-exchange<br>uv tool install --editable ./agent-session
The full asn CLI must be discoverable through PATH on the local machine before sessions are started, because sessions running directly on that machine invoke it themselves. Remote and container sessions receive an asn command limited to messaging and inspection during setup, so the full CLI does not need to be installed in those environments. If command -v asn prints nothing, run:
uv tool update-shell
Open a new terminal, then confirm that the executable is found through PATH:
command -v asn<br>asn --help
Start and message a session programmatically
Start Codex in an existing project directory:
asn start /absolute/path/to/project --agent codex
Claude Code is the default, so this starts Claude Code:
asn start /absolute/path/to/project
asn start prints a session key and a tmux session name. Use the key, or an unambiguous prefix, to address the session:
asn send SESSION_KEY "Review the authentication flow and summarize the main...