eager-midnight-95657
03/15/2026, 10:12 PMmodern-fireman-99755
03/16/2026, 7:27 AMeager-midnight-95657
03/16/2026, 7:52 AMmodern-fireman-99755
03/16/2026, 9:14 AMLocalConversation that allows you to switch LLMs inside a conversation. (link). However, this change is only in the SDK and there is no user-facing implementation yet.
-- User case B
If you want to start a conversation and select an agent based on the theme of the conversation, for example:
• conversation about coding → use Sonnet as LLM with specific coding tools
• conversation about poetry → use Gemini as LLM and an MCP connected to a poetry library
There is no default way to do this. You can create specific sub-agents (using file-based agents) for your tasks, and when you start a new conversation you can prompt the main agent to use a specific sub-agent. (Or the main agent will probably figure it out on its own.)
Let me know if this answer your questioneager-midnight-95657
03/16/2026, 9:24 AMmodern-fireman-99755
03/16/2026, 9:25 AMeager-midnight-95657
03/16/2026, 9:26 AMmodern-fireman-99755
03/16/2026, 10:46 AMnutritious-balloon-65098
03/16/2026, 10:49 AMnutritious-balloon-65098
03/16/2026, 10:50 AMLocalConversation.switch_profile() method (added in PR #2192) that allows switching LLMs mid-conversation programmatically.
2. Agent-Server Gap: The agent-server does not expose a REST API endpoint for switch_profile, so the web UI cannot trigger this functionality.
3. What Works Today:
- ✅ You can start different conversations with different LLMs by specifying the LLM in the Agent config when calling POST /conversations
- ❌ You cannot switch LLMs within an active conversation via the web UI
### Workarounds:
- Programmatic approach: Use the SDK directly with LocalConversation.switch_profile("profile_name")
- Per-conversation approach: Start each new conversation with the desired LLM configuration via the API
### Bottom Line:
The feature exists in the SDK but hasn't been propagated to the agent-server API or web UI yet. Users who need mid-conversation LLM switching must use the SDK directly for now.eager-midnight-95657
03/16/2026, 10:54 AMmodern-fireman-99755
03/16/2026, 12:30 PMnutritious-balloon-65098
03/16/2026, 12:30 PMnutritious-balloon-65098
03/16/2026, 12:33 PMPOST /conversations API endpoint:
1. Setup:
bash
export OH_SECRET_KEY=$(openssl rand -hex 32) # Required for persisting API keys
2. API Request Example:
bash
curl -X POST "<http://localhost:8000/conversations>" \
-H "Content-Type: application/json" \
-d '{
"agent": {
"kind": "Agent",
"llm": {
"model": "anthropic/claude-sonnet-4-20250514",
"api_key": "your-llm-api-key"
},
"tools": [
{"name": "TerminalTool"},
{"name": "FileEditorTool"}
]
},
"workspace": {
"kind": "LocalWorkspace",
"working_dir": "workspace/project"
},
"initial_message": {
"role": "user",
"content": [{"kind": "TextContent", "text": "Hello!"}],
"run": true
}
}'
3. Key Points:
- Each conversation is created with its own agent configuration (LLM, tools, workspace)
- Different conversations can use different LLMs
- The conversation will appear in the web UI after creation
- Full API documentation is available at <http://localhost:8000/docs>limited-student-10747
03/16/2026, 2:39 PM