Supported providers
Monad ships adapters for eight providers:
Third-party atom packs may register additional provider IDs.
Check what is configured
The provider’s own CLI has to be installed on this machine. Start from the roster:codex login,
claude, …) and Monad picks the session up. monad mesh auth only reports the state, and
a provider that exposes no probe reports unknown.
In the browser, Studio → Mesh agents shows the same roster and is the only surface
that can run an interactive provider login inside an embedded terminal.
Run one in a session
A third-party agent always runs against a Monad session — the transcript it reports into. A project-bound conversation still has its ownses_… id; a project id is not accepted.
mesh start refuses to spawn a runtime that would only sit at a login prompt, and rejects
a --cwd outside the session’s configured project root.
Watch and drive it
watch prints one line per observation event and resumes from the last cursor after a
dropped connection; --json emits NDJSON. --raw is a privileged diagnostic surface: it
can contain prompts, tool arguments, file content, environment details, or credentials.
Approvals raised by the provider are answered the same way:
Use reported capabilities
Agent and preset responses may include this capability object:Build against the API
Every verb above is a thin wrapper over the daemon’s Mesh API —POST /v1/mesh/sessions
to start a runtime, /stream/convenience and /stream/raw for the two observation
planes, /events/convenience for history. A client written against it must resume with
Last-Event-ID, treat the ready frame’s eventsBefore cursor as the history anchor,
and replace local state when the server sends a replacement snapshot instead of a patch.
The request and response shapes, cursor rules, and epoch semantics are specified in
third-party agent observation. Observation never
writes chat: only Message Ingress creates durable messages.