v0.5.0
Hmbown/Codewhalev0.5.0Apr 25, 2026by Hmbown
AI Summary
This release fixes critical bugs where multi-turn tool calls on thinking-mode models returned HTTP 400 errors by ensuring assistant messages carry `reasoning_content`. It also includes a UI refactor and cleanup of phantom references.
Key Highlights
- Fixed HTTP 400 errors for multi-turn tool calls on thinking-mode models
- Added final-pass wire-payload sanitizer to enforce `reasoning_content`
- Added logging for `reasoning_content`-related errors for better debugging
- Stripped phantom `web.run` references from prompts
- Refactored TUI header/UI widgets (internal cleanup)
Full Release Notes
## Fixed - **Multi-turn tool calls on thinking-mode models no longer return HTTP 400.** Every assistant message in the conversation now carries `reasoning_content` when thinking is enabled — not just tool-call rounds — matching DeepSeek's actual API validation, which rejects any assistant message missing the field even though the docs describe non-tool-call reasoning as "ignored". - **Final-pass wire-payload sanitizer** in the chat-completions client forces a non-empty `reasoning_content` placeholder onto any assistant message still missing one at request time. This is the last line of defense after engine-side and build-side substitution, so sessions restored from older checkpoints, sub-agents that append messages directly, and cached prefix mismatches all produce a valid request. - On a `reasoning_content`-related 400, the client now logs the offending message indices to make future regressions diagnosable. - Stripped phantom `web.run` references from prompts and the `web_search` tool surface (#25). ## Changed - Header / UI widget refactor in the TUI (internal cleanup, no user-visible behavior change). ## Install ```bash npm install -g deepseek-tui ``` Or from source: ```bash git clone https://github.com/Hmbown/DeepSeek-TUI.git cd DeepSeek-TUI cargo install --path crates/tui --locked # requires Rust 1.85+ ``` Full changelog: https://github.com/Hmbown/DeepSeek-TUI/blob/main/CHANGELOG.md