Open Source & Self-Hosted

Multi-Contact
AI For Developers

Chat with AI coding assistants from any chat client. Each session is a separate contact. No vendor lock-in. Use whatever chat server you want.

Switch Interface
Orchestrators
CC
cc@dev.local
OC
oc@dev.local
GPT
oc-gpt@dev.local
Active Sessions
FX
fix-auth-bug@...
RF
refactor-db@...
AT
add-tests@...
Refactor the auth middleware to use JWT instead of sessions
I'll refactor the auth middleware to use JWT. Let me start by examining the current implementation.
bash — read
src/middleware/auth.js
Now I'll update the middleware to use JWT verification instead of session lookup...

One Contact Per Session

Traditional AI chat systems hide sessions behind a single bot. Switch makes every session a first-class contact in your chat app.

01

Parallel Conversations

Three sessions means three chat windows, not one window with context-switching commands. Your chat app's UI manages your agent swarm natively.

02

Truly Portable

Open a session on your phone, continue on desktop. Each contact syncs independently through your XMPP client. History follows you everywhere.

03

No Vendor Lock-in

Use any chat client you want. Conversations, Monal, Gajim, Dino — or our custom macOS client. It's your choice.

04

Multiple AI Backends

Claude Code, OpenCode with GPT, GLM, or Kimi. Different models for different tasks, all accessible from the same interface.

05

Rich Metadata

Tool calls, run stats, attachments — all rendered beautifully. See token counts, costs, and duration at a glance.

06

Self-Hosted

Runs on your own Linux machine. Your code stays local. Your data stays yours. Full system access for real development work.

Four Steps to AI

Switch bridges your chat client to AI coding assistants. Here's the flow.

01

Message Orchestrator

Send a message to cc@, oc@, or oc-gpt@ to start a new session. Each orchestrator maps to a different AI backend.

02

Get Session Contact

Switch creates a dedicated contact for your session. This is your 1:1 chat with that task.

03

Chat Naturally

Send code, ask questions, run shell commands with ! prefix. The AI sees your project files and can make edits directly.

04

Spawn More Sessions

When a session is busy, spawn a sibling with +message. Run multiple tasks in parallel without waiting.

Choose Your Weapon

Switch works with any chat client. Here are some recommendations.

Conversations

Android

A modern XMPP client for Android with a clean interface, end-to-end encryption support, and excellent battery efficiency. Perfect for Switch on the go.

Android Mobile Open Source

Monal

iOS & macOS

A free, open-source XMPP client for Apple devices. Simple, reliable, and privacy-focused with no ads or tracking.

iOS macOS Open Source

Gajim

Desktop

A full-featured XMPP client for desktop. Plugin system, group chat support, and extensive customization options.

Linux Windows Desktop

Get Running in Minutes

Install Switch on your own hardware and start chatting with AI.

# Clone the repository
git clone https://github.com/chknlittle/switch.git
cd switch

# Install dependencies
uv sync

# Set up agent instructions
ln -sf ~/switch/AGENTS.md ~/CLAUDE.md
ln -sf ~/switch/AGENTS.md ~/AGENTS.md

# Configure and run
cp .env.example .env
# Edit .env with your XMPP server details
uv run python -m src.bridge

Ready to Switch?

Join developers who are already using Switch to manage their AI workflows. Self-hosted, open source, and designed for real work.