Turn the reasoning channel off on Gemma 4, in every request
Practice
The practice
Send chat_template_kwargs {enable_thinking: false} with every call, even though the server defaults it off. A grammar-constrained call went from 600 tokens and 8.7 s to 72 tokens and 1.4 s. The server default exists for clients that cannot send the field, not as permission to skip it.
2026-10-09
Gemma 4 emits 150 to 500 tokens of hidden chain-of-thought before every answer, returned in a separate reasoning field. Only the enable_thinking template argument turns it off; reasoning_budget: 0 and reasoning_effort: none are accepted and do nothing. Keep sending the field because nothing else on the system has the server default, and a model swap or a drop-in rollback would silently bring the thinking back for anyone relying on it.
Comments
Public comments on each entry are coming. Nothing is collected here yet.