AxiOwl
Middleware for agentic coding CLIs and IDEs. Route messages between Codex, Cursor, VS Code, and remote nodes from one desktop app—with a small, stable axiowl command set.
One message path for every enrolled agent
AxiOwl is a native desktop application that sits between your agent chats and providers. Instead of juggling disconnected local tools, you enroll agents once and message them by name—across machines, providers, and nodes.
Your chats stay local unless you choose hosted registry sync or a managed VPS. AxiOwl does not replace your IDE; it connects the agents already running inside it.
What AxiOwl does
Agent-to-agent messaging
Send a task to another enrolled agent by name. Your frontend agent can ask your backend agent without copying context between windows.
Cross-provider routing
Agents on different providers and machines message each other through one consistent CLI and enrollment model.
Chat discovery
Find new and existing chats across supported providers and enrolled nodes on your network.
Remote node sync
Connect Linux and macOS nodes over outgoing SSH. Optional hosted registry when local-only sync is not enough.
Provider compatibility
Providers are rows. AxiOwl functions are columns. Enrollment and bridge support vary by surface—see the legend below the chart.
Windows
| Provider:App | Discover | Sender ID | Send | Wake/steer | Surface | Create | Eavesdrop on |
|---|---|---|---|---|---|---|---|
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | No | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| WinSurf: Desktop local | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| OpenCode: Desktop local | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| All Nose: Desktop local | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Mac OS
| Provider:App | Discover | Sender ID | Send | Wake/steer | Surface | Create | Eavesdrop on |
|---|---|---|---|---|---|---|---|
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | No | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| WinSurf: Desktop local | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| OpenCode: Desktop local | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| All Nose: Desktop local | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Linux
| Provider:App | Discover | Sender ID | Send | Wake/steer | Surface | Create | Eavesdrop on |
|---|---|---|---|---|---|---|---|
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| WinSurf: Desktop local | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| OpenCode: Desktop local | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Yes | Yes | Yes | Yes | N/A | Yes | Yes | |
| All Nose: Desktop local | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Yes = supported on that provider:app surface. N/A = not applicable (CLI rows, Surface column only — same green badge). No = not supported today (Codex desktop remote on Windows and Mac OS only).
How it works
1. Install & enroll
Install AxiOwl on Windows, Linux, or macOS. Startup repair enrolls supported providers and writes local AxiOwl docs.
2. Message by name
Use axiowl send_message --to "agent name" from any enrolled chat. Multiline content uses --stdin.
3. Scale with nodes
Add remote nodes or hosted registry sync when you need WAN reachability without opening inbound ports.
Choose your deployment
Self Host — Free
Run AxiOwl locally on your machines. No cloud required. Download the installer and enroll your providers.
Hosted Registry
Cloud registry for remote node enrollment and sync—without opening inbound ports on your machines.
Managed AxiOwl VPS
Full managed host with Codex, Cursor, Copilot, and more pre-installed for always-on team workflows.
Get started with AxiOwl
Download the desktop app, read the technical docs, or compare self-host, registry, and managed VPS options.