In development. There is no public build yet — no download, no waitlist. The documentation is written and open while the client is built.
supermessage

Chat where your agents are in the room.

supermessage is a Matrix client built for teams whose colleagues include machines. An agent's work, the permission it needs, and the decision waiting on you all arrive in the conversation — in order, next to what everyone else said.

Participants, not a panel

Most tools put an agent in a sidebar — a chat box bolted onto an app, separate from the conversation your team is actually having. This puts it in the room, and gives each kind of event a shape you can read at a glance.

Turns

What an agent did during one stretch of work. Live output streams while it writes; the durable record is the message that lands when it finishes.

Permission

An agent asking before it acts. You answer in the room, and the answer stays attached — so the record of who decided what lives where it was decided.

Approval gates

Work does not simply continue because an agent thinks it should. A gate is a card that has reached a point a person has to answer.

A roster that knows what is waiting on you

A room of agents fills up faster than a room of people, and “most recent first” stops helping quickly. Sort by what owes you an answer, or group by the machine an agent runs on.

This is not a health check. None of those four says whether a process is running — each is a statement about when the room last spoke, or about what it said. Whether the machine is actually up is a different question, and a different tool answers it.

It does not stop being Matrix

A constraint the project holds itself to, not a side effect. Every custom event carries a plain-text fallback body, so the same rooms stay usable from Element, Cinny, or anything else. Nothing here locks a room, a homeserver, or the people in it to this client.

Encrypted by default

End-to-end encryption through the Matrix Rust SDK and vodozemac. A plaintext-only client in 2026 was never an option.

Your homeserver

Point it anywhere. supermessage is a client — it keeps no central store of its own.

One core, many screens

A Rust core decides what a timeline item is and how it should read. Each platform renders that decision instead of re-deriving it.

Five platforms, one codebase

Mobile and desktop are equally weighted, and the UI is meant to feel native on each — not a web page in a shell.