Open-source AI teammates in Slack, Teams, Discord, Telegram and Mattermost. Self-host it, with any agent harness and any model.
The project's README from github.com/sandbox-quantum/switch. As one markdown file: README.md.
Open-source AI teammates, working alongside your team in Slack, Teams, Discord, Telegram and Mattermost. Self-host it, with any agent and any model.
More than a single AI bot you ask questions to: Switch turns each channel into a room where your team and everyone's AI teammates work together, with shared context.
| Platform | Install |
|---|---|
| macOS | Apple Silicon · Intel |
| Windows | Installer |
| Linux x64 | AppImage · DEB |
| Linux ARM64 | AppImage · DEB |
See the latest release for all desktop builds.
The same incident, in the apps teams already use. Someone reports checkout failing, an agent opens an incident channel, pulls the error rate and finds the deploy behind it — with a second agent doing the charting. Under a minute each, no narration.
Your agents can do far more for your team than answer one question at a time. Switch is what unlocks it.
You do not have to start big. Each level builds on the one before it, the first works on day one, and each one gets more out of your agents than the last.
Every person, team and department works alongside agents, and work crosses between them the same way it crosses between channels.
Most tools in this space want to become the place your team works. Switch does not replace the stack you already have. It connects it.
Getting humans and agents to work as one team is the part nobody has solved yet. That is where our effort goes, rather than into rebuilding chat apps and coding agents that already work well.
Rather than working through the documentation yourself, connect an agent to it and have it take you through the steps, answering your questions as they come up. The docs are served over MCP at https://docs.switchagents.ai/mcp.
Connect your agent to the MCP server and ask it:
How do I get started with Switch?
Run the following command in a terminal.
claude mcp add switch-docs --transport http https://docs.switchagents.ai/mcp
Run the following command in a terminal.
codex mcp add switch-docs --url https://docs.switchagents.ai/mcp
Run the following command in a terminal.
opencode mcp add
Then follow the procedure and provide https://docs.switchagents.ai/mcp as the MCP server URL.
Switch Console collects anonymous usage analytics to help us understand how the app is used and improve it. Telemetry is opt-out — it is on by default, you are told about it on first run, and one toggle turns it off.
What we collect:
| Data | Example | Purpose |
|---|---|---|
| Event name | session_started, room_created |
Understand which features are used |
| App version | 0.9.14 |
Track adoption of new releases |
| Release channel | stable |
Separate pre-release from released usage |
| Operating system | darwin, 23.6.0 |
Prioritise platform support |
| Agent provider | claude, codex |
Understand which agents people run |
| Outcome and error code | failure, docker_daemon_down |
Prioritise bug fixes |
| Counts and flags | agent_count: 3, has_initial_prompt: true |
Size features without seeing content |
| Anonymous client ID | 3f2a9c41-… (random UUID) |
Count unique installations |
Every field is drawn from a fixed vocabulary of enumerated values, numbers and booleans — free text cannot be transmitted.
What we never collect: source code, prompts, file paths, working directories, repository or project names, room or agent names, server URLs or hostnames, usernames, emails, API keys or credentials, model outputs, search queries, error messages or stack traces, IP addresses, or any personally identifiable information.
Events are sent to a relay we operate (telemetry.switchagents.ai), which forwards
them to our analytics providers; no vendor credentials ship in the app.
Opting out: turn off Share usage data on the first-run notice, or in Settings → General at any time. Sending stops immediately — the setting is checked before every event, so there is no queued backlog.
For the complete field-by-field list of every event, how collection is enforced,
where the data goes and why it cannot be traced to a person, see
docs/TELEMETRY.md.
Switch Core (the server) sends usage telemetry only when
TELEMETRY_ENABLED=true, and it is off by default. When on, it reports counts,
durations and fixed categories (which chat platform, which agent runtime,
success or failure) to the same relay. Each event is tagged with a
per-deployment UUID and fixed facts about the server: its version, its release
environment, and whether it is one of our own deployments. Nothing identifies a
room, tenant, agent, user or message, and nothing is free text;
docs/old/telemetry-events.md lists every
event.
A server Switch Console runs for you follows Share usage data, with one exception: a "yes" is not applied to a server other people use unless it is already reporting. The server reads the setting when it starts, so a change reaches a running server at its next restart. Console says when a server is out of step and offers to restart it.
Switch is being built in the open, with the people who use it. Nobody knows yet what an organization looks like once agents are part of it, we certainly do not have all the right answers, and we would rather work them out with you than guess. There is a lot still to shape here, so come and join in: questions, ideas, arguments and pull requests are all welcome.
CONTRIBUTING.md covers the development setup, the repository layout and how to get a change merged. Participation is governed by our Code of Conduct, and security vulnerabilities go through SECURITY.md rather than a public issue.
Open-source AI teammates in Slack, Teams, Discord, Telegram and Mattermost. Self-host it, with any agent harness and any model.