Claude Code v2.1.317 adds onFailure: "block" for Agent SDK hook callbacks. With it, a hook callback that fails blocks the action instead of letting it run.
How we checked
Read the official GitHub release notes for v2.1.317; no sandbox smoke test
Why it matters
Policy hooks can now fail closed. Before, a crashing safety check would silently let the tool call through.
Try this
In Agent SDK hooks that enforce policy, set onFailure: "block" so a crashing check denies the action.
Claude Code v2.1.317 adds anthropic.plan, anthropic.seat_type, anthropic.provider and anthropic.custom_base_url to OTel metrics, events and spans. It also adds CLAUDE_CODE_DISABLE_NESTED_SESSION_ID, which restores the old claude -p session behavior on self-hosted runners.
How we checked · Why it matters · Try this
How we checked
Read the official GitHub release notes for v2.1.317; no sandbox smoke test
Why it matters
Teams can split usage and cost telemetry by plan and provider. Runner setups that depended on the old nested session ID can opt back in.
Try this
If you export Claude Code OTel data, add anthropic.provider and anthropic.plan as dimensions in your cost dashboards.
llm 0.37 adds gpt-6.1-sol and gpt-6.1-terra, and new llm openai endpoint add/list/remove/path commands for OpenAI-compatible endpoints. It switches the default model to gpt-6-luna for users who have not set one.
How we checked · Why it matters · Try this
How we checked
GitHub release notes for 0.37 and PyPI page (0.37, Nov 2, 2026) checked; no sandbox smoke test
Why it matters
After upgrading, scripts that rely on the implicit default will quietly use a different model. Local OpenAI-compatible servers are also easier to register.
Try this
After upgrading, run llm models default to see which model you are on, and set it explicitly if your scripts depend on one.
Google released EmbeddingGemma 2, an open-weight (Apache 2.0) embedding model of about 740M parameters. It maps text, images, audio and video into one space, with Matryoshka outputs that shrink from 768 down to 128 dimensions.
How we checked · Why it matters · Try this
How we checked
primary link exists: recap links the EmbeddingGemma 2 post (Oct 6, 2026), which confirms weights and license
Why it matters
It is a small open multimodal embedder that can run on-device for private, offline search. Smaller vectors cut local storage.
Try this
For local search, compare 128-dimension and 768-dimension EmbeddingGemma 2 vectors on your own queries before choosing a size.
Gemini 4 Carbon, announced October 28, 2026, is not generally available. Access is limited to pre-release testers (a subset of cyber defenders, widening via the Fairwind Program), and developer access has no date.
How we checked · Why it matters
How we checked
primary link exists: Carbon announcement page loads and states the limited-access rollout
Why it matters
Builders cannot plan on Carbon through the API yet. Benchmark scores quoted for it in videos and newsletters are vendor claims.
Anthropic released FlashProve, an open-source prototype for zero-knowledge proofs of LLM inference. It ships a GPU prover, a C++ verifier, a Lean verifier and Lean proofs, under Apache 2.0.
How we checked · Why it matters · Try this
How we checked
primary link exists: research page and the linked anthropics/FlashProve repo (Apache 2.0) both load
Why it matters
It gives API users and auditors a possible way to check that responses came from the model they paid for, without needing access to the weights.
Try this
Read lean/THEOREM.md in the FlashProve repo to see exactly what the soundness proof covers before trusting the guarantees.
Hugging Face found that tiny test fixtures with random weights can be insensitive. Random Whisper fixtures caught 18 of 24 injected faults, while fixtures overfit on a few examples caught all 24. Testing only eager attention missed an SDPA-path bug.
How we checked · Why it matters · Try this
How we checked
Hugging Face's own study results read from their blog; injected-fault counts not reproduced
Why it matters
A tiny test model only protects you if its outputs react to its inputs and it runs the same code path as the production checkpoint.
Try this
When building tiny test models, check that outputs change when inputs change, and test the default attention backend, not only eager.