The Wire · Showcase
DEEPSEEK TOOL-CALL FIX LANDS; LARAVEL AI CLOSES REASONING GAP
By RepoJournal · Filed · About Laravel
Laravel AI shipped a critical fix for DeepSeek's multi-turn tool-call failures, plus added OpenRouter audio, embedding provider options, and streaming failover support.
DeepSeek's API demands exact `reasoning_content` replay on subsequent requests when tool calls are involved — a requirement the SDK was silently dropping during recursive loops [1] [2]. This fix captures and preserves that reasoning state across the full conversation lifecycle. In parallel, the SDK gained OpenRouter TTS and STT support [3] using their OpenAI-compatible audio endpoints, embedding provider options to unlock provider-specific knobs like Cohere's `input_type` parameter [4], and fixed streaming failover that only caught exceptions during synchronous creation, not during lazy generator iteration [5]. Framework picked up SQS disk offloading for payloads exceeding queue limits [7], cloud queue metrics scaffolding [6], and password rule serialization for browser password managers [8]. Wayfinder and Ranger both shipped minor releases clarifying multi-route behavior [9] [12] and bumping security dependencies [10] [11].
Action items
- → Upgrade laravel/ai if using DeepSeek with tool calls — this blocks production use laravel/ai [immediate]
- → Review embedding generation if using Cohere/Voyage — provider options now available for RAG queries laravel/ai [plan]
- → Test SQS streaming failover in your queue worker — it now works during iteration laravel/ai [plan]
- → Bump wayfinder to 0.1.20 for happy-dom security fix laravel/wayfinder [plan]
References
- [1] Fix: DeepSeek 400 Bad Request on multi-turn tool-calls by preserving `reasoning_content` (#534) laravel/ai
- [2] Fix: DeepSeek 400 Bad Request on multi-turn tool-calls by preserving `reasoning_content` ↗ laravel/ai
- [3] OpenRouter TTS and STT support ↗ laravel/ai
- [4] Support provider options in embeddings ↗ laravel/ai
- [5] Enable failover during stream iteration ↗ laravel/ai
- [6] [13.x] Cloud queue metrics ↗ laravel/framework
- [7] [13.x] Add optional disk storage for large SQS queue payloads ↗ laravel/framework
- [8] [13.x] Add method to convert a Password instance to a passwordrules string ↗ laravel/framework
- [9] Clarify behavior when multiple routes share an action ↗ laravel/wayfinder
- [10] v0.1.20 ↗ laravel/wayfinder
- [11] Bump happy-dom minimum to 20.8.9 ↗ laravel/wayfinder
- [12] Respect $hidden, $visible, and $appends on model components ↗ laravel/ranger
FAQ
- What changed in Laravel on May 12, 2026?
- Laravel AI shipped a critical fix for DeepSeek's multi-turn tool-call failures, plus added OpenRouter audio, embedding provider options, and streaming failover support.
- What should Laravel teams do about it?
- Upgrade laravel/ai if using DeepSeek with tool calls — this blocks production use • Review embedding generation if using Cohere/Voyage — provider options now available for RAG queries • Test SQS streaming failover in your queue worker — it now works during iteration
- Which Laravel repositories shipped on May 12, 2026?
- laravel/ai, laravel/framework, laravel/wayfinder, laravel/ranger