simse supports multiple ACP backends simultaneously. You can configure different backends for different tasks, switch between them mid-workflow, and run sessions against any configured backend — all while sharing the same session history and adaptive store. Examples use TUI slash commands — for headless mode, see the commands reference.
Add each server to ~/.config/simse/acp.json:
{
"servers": [
{
"name": "anthropic",
"command": "npx",
"args": ["-y", "@anthropic-ai/claude-code"],
"env": { "ANTHROPIC_API_KEY": "sk-..." },
"defaultAgent": "claude-sonnet-4-6",
"timeoutMs": 60000
},
{
"name": "local",
"command": "ollama",
"args": ["serve"],
"defaultAgent": "llama3",
"timeoutMs": 120000
}
],
"defaultServer": "anthropic",
"defaultAgent": "claude-sonnet-4-6"
}
Restart simse to pick up the changes. Use /status to verify all servers are connected.
Switch between your configured servers with /server <name> in the TUI during a session:
/server anthropic
/server local
Set which server new sessions use by default with defaultServer in acp.json:
{
"defaultServer": "anthropic"
}
(The --provider <URL> flag is unrelated — it takes an OpenAI-compatible endpoint URL for a one-off connection, not a configured-server name.)
Switching servers does not affect your context. The adaptive store and session history are independent of which server you use. When you start a new session with a different server, it draws from the same adaptive store as all other sessions.
This means you can:
Sessions are stored with a reference to the server that created them, but the conversation content and all derived context are portable:
{
"servers": [
{
"name": "anthropic",
"command": "npx",
"args": ["-y", "@anthropic-ai/claude-code"],
"env": { "ANTHROPIC_API_KEY": "sk-..." },
"defaultAgent": "claude-sonnet-4-6",
"timeoutMs": 60000
},
{
"name": "local",
"command": "ollama",
"args": ["serve"],
"defaultAgent": "llama3",
"timeoutMs": 120000
}
],
"defaultServer": "anthropic",
"defaultAgent": "claude-sonnet-4-6"
}
If a session loses connection to its server (process crash, timeout), simse reports the error and lets you resume the session, then switch to a different server:
simse --resume <session-id>
Once resumed, switch servers with /server <name> in the TUI. The session history is intact, and the new server picks up where the previous one left off.