Ran 1 command, searched once, read 1 file1 failed
Searchreasoning_effort 12 matches0.4s
Runcargo test -p topxai claude_code exit code 1018.1s
Readcrates/topxai/src/agents/subagent_model.rs0.1s
Found it: the session’s saved reasoning_effort was carried over unchanged on the switch to Claude Code, and the CLI exits on a level it doesn’t know.
The fix has two parts:
- Drop inherited reasoning parameters for external agents; keep only interaction_mode.
- Pass --effort only for levels the model declares, and never pass default.
rustclaude_code.rs
pub fn without_reasoning_params(&self) -> Self { let mut model = self.clone(); if let Some(params) = model.request_params.as_mut() { params.retain(|key, _| key == "interaction_mode"); } model }
Changed 2 files+18−4View changes
providers/claude_code.rs+14−3
tests/claude_code_effort.rs+4−1
Tests are in, and cargo test -p topxai claude_code passes.
Give TopxAI a task; @ cites a file, / runs a skill
Context22%
Search models or providers⌘M
Favourites
Claude Sonnet 5.5
Everyday coding and long chats
3 / 15⌘1
Claude Opus 5.5
Hard problems and multi-step plans
15 / 75⌘2
GPT-6.1 Sol
Reads big repos, writes tests
2.5 / 10⌘3
DeepSeek V4
Cheap; batches and errands
0.3 / 1.1⌘4
TopxAI
GLM 5.3GLM only after switching
Its context goes to GLM, and this session can’t switch back to another model
0.6 / 2.2
SubagentsAutoSame modelLocal agentJev picks by difficulty
Prices in USD per million tokens, input / outputManage providers