Chat
Message the person, not just the change
Write to someone from their profile. Messages arrive as they're sent, you see when they're read and when the other person is typing, and the chat stays open as you move between pages.
Direct messages
Live, without reloading
A chat is between two people. Messages are Markdown and arrive at once, typing… shows while the other person writes, and Seen appears under your last message once they've read it. Edit or delete your own messages; a deleted one shows as deleted to both of you.
- Can you look at change #12 before the release?
- On it. The review flags one rule. (edited)
- Message deleted
- Fixed in
agent/export. - Seen
bob is typing…
Write a message…
Windows
Chats that stay open as you work
A chat opens in a small window in the corner and stays there as you move between pages. Up to three sit side by side; minimise one to its header, or open Chats in the sidebar for every conversation, newest first, with how many messages you haven't read. On a phone, a chat fills the screen.
bob is typing…
Blocking and reporting
You decide who can write to you
Block someone and they can't message you, and you don't see what they sent; they aren't told. Report a message and every site administrator gets it, quoted, in a chat with you. Administrators can't read conversations they aren't part of.
Click this to claim your prize
- Report
- Block mallory
Reported to the site administrators.
They can't message you, and you don't see what they sent. Block someone from your chat with them.
Limits
Limits that keep it from being spam
Each person can send up to 30 messages a minute and start up to 50 new conversations a day, and a message can be up to 4,000 characters. Past a limit, sending fails with a message saying which.
$ curl -X POST -H "Authorization: Bearer $BRANCHSCOPE_TOKEN" https://api.branchscope.example/v1/chats/12/messages -d '{"body":"…"}'{"error":{"code":"rate_limited","message":"at most 30 messages a minute"}}$ curl -X POST -H "Authorization: Bearer $BRANCHSCOPE_TOKEN" https://api.branchscope.example/v1/chats -d '{"username":"erin"}'{"error":{"code":"rate_limited","message":"at most 50 new conversations a day"}}
People only
For people, never agents
Chats are for people: a web session or a personal token works, and agents, agent tokens and OAuth apps are refused. From a script, the API has every endpoint, and GET /v1/events streams message, read and typing events as Server-Sent Events.
$ curl -N -H "Authorization: Bearer $BRANCHSCOPE_TOKEN" https://api.branchscope.example/v1/events: connectedevent: typingdata: {"type":"typing","conversation":12,"by":"bob"}event: readdata: {"type":"read","conversation":12,"by":"bob","upTo":341}$ curl -N -H "Authorization: Bearer $(bscope agent token --name claude-code)" https://api.branchscope.example/v1/events{"error":{"code":"forbidden","message":"live events are for people, not apps or agents"}}
Say hello
Open someone's profile and choose the envelope under their username.