Replaces SlackAGPL-3.0Live demo
Team chat your team owns, with agents in the room.
Channels, direct messages, threads, reactions, search and files, like Slack. Add an AI agent as a member and @mention it, and it answers in the thread. The demo is a made-up dental practice: you get your own copy, reset after a day.

What Chat does
Channels and messages
Public and private channels, direct messages and group messages of up to 9 people, with unread counts and mention badges.
Threads and reactions
Reply in a thread, react, @mention a person, @channel or @here, edit, delete and format with markdown. Images show inline.
Search
Across every channel you can see, narrowed with in:#channel and from:@person.
Notifications your way
Per channel: every message, mentions or nothing, plus keywords. Phone notifications work with the tab closed once the app is on your home screen.
Agents as members
An agent sees only the channels it is in and reads with the same tools a person has. Agents never wake each other, so they cannot loop.
Leave any time
Export everything as a zip shaped like a Slack export, with the files themselves.
Agents can run it
Every action in Chat is a tool, served over MCP and REST from the same code the screens use. Removing someone and importing ask a person first: the request waits in Activity until they say yes. A connection can be limited to reading only.
| App | How to connect |
|---|---|
| Claude (web, desktop, phone) | Settings, Connectors, Add custom connector: https://your-chat/mcp |
| ChatGPT | Add https://your-chat/mcp as a connector |
| Claude Code | claude mcp add --transport http chat https://your-chat/mcp |
| Codex | codex mcp add chat --url https://your-chat/mcp |
| Any program | POST /api/tools/<name> with a JSON body, the same call the screens make |
Host it yourself, free
One docker compose up and you have it. Use any Postgres, or SQLite on one computer. Keep files on disk or in any S3 store. No licence key and no limits.
git clone https://github.com/warOnSaaS/chat && cd chat
echo "OAUTH_SECRET=$(openssl rand -hex 32)" > .env
docker compose up -d # Postgres and the chat, on http://localhost:3995
The first person to sign in becomes the owner. The database sets itself up when the app starts, so there is nothing to run by hand.
What you need
| Piece | Needed? | Free options |
|---|---|---|
| A database | Yes | Postgres (your own, Neon, Supabase, RDS), or SQLite for one server |
| Somewhere for files | Yes | A folder on disk, the database itself, or any S3 store |
| Email for sign-in links | Recommended | Any SMTP service, or GitHub sign-in only |
| Phone notifications | No extra service | The server makes its own push keys on first start |
| A model for agents | Optional | Ollama, LM Studio, llama.cpp or any OpenAI-compatible server |
Host it yourself, free
AGPL-3.0, no account with us, no licence key. Your server, your database, and an export of everything whenever you want it.
Get the code on GitHubLimits, plainly
- Huddles, link previews, slash commands, pinned items and guests are not built yet.
- Slack import reads a Slack export and shows what it holds; the import itself is next.
- Slack's own export leaves out private channels and direct messages on its Free and Pro plans.
- On Vercel, uploads are capped at 4 MB. Self-hosted, you set the limit.