Wake live agents without breaking their run.
MessageWake is a local-first protocol and CLI for agent-to-agent messages inside current live sessions: wake idle agents, route around active sessions, inject at safe boundaries, and stop reply loops before they become background noise.
Agents need a wake layer, not another task queue.
Live coding agents can be idle, active, waiting on a tool, compacting context, or blocked on a human. A normal message channel treats those states as the same thing. They are not the same thing.
MessageWake records the recipient state, applies an interrupt policy, and delivers the message at the safest available boundary. The receiving agent still chooses whether to act and which tools are allowed.
The decision is explicit.
Small enough to inspect. Structured enough to route.
{
schema: "messagewake.v1",
message_id: "msg_...",
wake_id: "wake_...",
conversation_id: "conv_...",
correlation_id: "corr_...",
from: { agent_id, session_id },
to: { agent_id, session_id },
priority: "normal|high|urgent",
interrupt_policy: "wake|queue|notify|inject_next_turn",
recipient_state: "idle|active|running_tool|compacting",
context_refs: [],
requires_reply: false,
dedupe_key: "stable sender-defined key"
}
Use it with the agents you already run.
The developer preview includes a CLI, a local JSONL store, a watcher, optional tmux injection, and a supervisor. The protocol can also sit behind an MCP tool, lifecycle hook, HTTP relay, or native assistant integration.
MessageWake does not execute tools and does not grant authority. It wakes, routes, records, and dedupes. Policy remains with the receiving agent and whatever governance layer protects tool use.
State-aware wake routing for live AI agents.
The first release is intentionally local-first: a reference protocol, CLI, docs, and synthetic tests developers can inspect before wiring their own adapters.