Gemma 4 Chat Template Bug: Tool Parameters with anyOf/null Rendered as Empty type

A Reddit user discovered that Gemma 4 (gemma-4-31B-it) fails to parse tool parameters that use the JSON Schema pattern anyOf: [$ref, null] — a common pattern for nullable object references. The default chat template assumes a direct type field at the top level, so schemas like this:
{"anyOf": [{"$ref": "#/$defs/SomeObject"}, {"type": "null"}]}get stripped of anyOf, $ref, and $defs, resulting in type: "" in the prompt. This breaks tool calling on multiple inference engines (llama-server, others) while Qwen3.5 and gpt-oss-20b handle it correctly.
Diagnosis and Fix
The user debugged with verbose logging from llama-server and had GPT-5.5-high (via codex CLI) compare logs between Qwen3.5-27B-Q4_K_M and gemma-4-31B-it-Q4_K_S on a MacBook Pro. The root cause was traced to the Gemma chat template's assumption that every parameter has a direct type key. A small change to the Jinja template now preserves anyOf, $ref, and $defs structures.
The corrected Jinja template is available on Pastebin: https://pastebin.com/p9z3BAC0
A PR has been submitted to the Hugging Face repository for gemma-4-31B-it.
Takeaway
If you use Gemma 4 for tool/function calling with nullable JSON Schema refs, apply the fixed chat template. Users of Qwen3.5 or gpt-oss-20b are unaffected.
📖 Read the full source: r/LocalLLaMA
👀 See Also

Claude Code source leak reveals autoDream memory system and multi-agent patterns
Anthropic accidentally shipped Claude Code's TypeScript source in npm source maps, revealing autoDream memory consolidation, modular system prompt architecture, and multi-agent coordinator patterns.

NYT Magazine covers real-world OpenClaw use in small businesses — gift article shared from Reddit
A New York Times Magazine article features OpenClaw users interviewed about their business use cases, originally posted on r/openclaw. Gift link included.

Anthropic Clarifies Claude CLI Usage Policy for OpenClaw Integration
Anthropic has confirmed that OpenClaw-style Claude CLI usage is permitted again, allowing developers to reuse existing Claude CLI logins directly. The documentation details both API key and CLI authentication methods, along with configuration options for Claude 4.6 models, fast mode, and prompt caching.

YouTube Auto-Labels AI Videos: Simplified Labels & Auto-Detection in 2026
YouTube updates AI labels: more prominent placement, auto-detection of photorealistic AI content, and permanent labels for videos made with YouTube's own AI tools or C2PA metadata.