v0.20.5
v0.20.5
What's Changed
π Features
-
High reasoning effort as the default (
af24fd7b) βdefault_reasoningswitched frommediumtohighfor every thinking-capable model across CommandCode, CrofAI, DeepInfra, Fireworks, GitHub Copilot, OpenAI, and OpenAI Codex. To make the active setting visible, the console prompt prefix now shows the reasoning effort inline as[agent:model:effort]. -
New frontier models for CommandCode and OpenCode Go (
962aa9bc) β added to CommandCode: Claude Opus 5, Qwen3.8 Max, Qwen3.7 Flash, Gemini 3.6 Flash, Gemini 3.5 Flash Lite, Thinking Machines Inkling & Inkling Small, Poolside Laguna S 2.1 (free), and Meta Muse Spark 1.2 + Muse Spark 1.2 Contributor. Added to OpenCode Go: MiMo V2 Pro, MiMo V2 Omni, Qwen3.5 Plus, Qwen3.8 Max, MiniMax M2.5, HY3, GPT-5.6 Luna, and Grok 4.5. The Tencent Hy3 model id was also normalized totencent/hy3-paid. -
Terminal window title for accessibility (
331aa514) β the terminal title now shows<current directory> - agentcrewon startup, making it easy to identify AgentCrew among many open terminals. Works on Windows (title) and POSIX (OSC escape sequence).
π Bug Fixes
-
MCP session setup can no longer hang forever (
0d2025fe) β transport connect andinitialize()are now bounded by a 60s session-setup timeout (65s overall budget for a tool call's connect phase), so a broken OAuth flow β e.g. an MCP server redirecting client registration with a 307 to a sign-in page β surfaces as a descriptiveTimeoutErrorinstead of blocking the caller and any A2A task using the tool. AnOAuthRegistrationErroris never retried (it cannot succeed on retry), surfaces as the standard error tool text block, and always releases the per-server OAuth lock. Covered by new unit tests intests/mcpclient_session_timeout_test.py. -
Onboarding no longer crashes mid-conversation (
6dbf5580) β the agent-definition generation chat was rewritten to return a structuredOnboardingGenerationResult(definition, last response, and error detail), and user input now uses an asyncPromptSessioninstead of a blocking prompt. Failures now show the reason and the last model response instead of a bare failure, a stray debugprintwas removed, and the flow is covered by new unit tests intests/test_onboarding_service.py. -
Context limit now reflects your override (
72d884b1) β the shrink-context threshold previously bypassed the 85% factor whenAGENTCREW_DEFAULT_MAX_CONTEXTwas set; it is now applied consistently in both paths. The/contextcommand also reads the env override for the displayed limit (instead of always showing the model's native limit), and the percentage bar no longer breaks when the limit is unknown.
π§ͺ Tests
tests/mcpclient_session_timeout_test.pyβ OAuth registration errors are not retried and return error text; hanginginitialize()raisesTimeoutErrorand releases the OAuth lock.tests/test_onboarding_service.pyβ success, exception, non-string response, max-turn, and cancel paths of the onboarding generation flow.