IBM Granite 4.2 llama.cpp and Claude Code make hybrid local agents shippable

At a glance

  • IBM shipped Granite 4.2 (3B/8B/30B) as Apache-2.0 dense reasoning models with native chain-of-thought, switchable thinking modes, and agentic RL for tool use and coding.
  • llama.cpp 0.3.0 added dots3-note vision/audio, WebP/video fixes, tensor-split for DeepSeek 4, and a ggml 0.22 backend bump—local multimodal inference just got real.
  • Claude Code 2.1.246 added an Auto mode permissions tab, Bash wildcard warnings, turn-completion timestamps, and dozens of session, MCP, and sandbox reliability fixes.
  • Open local stacks and terminal agents are compounding: teams can now mix 30B on-device reasoning with frontier coding harnesses without waiting on closed APIs.

Builders spent August chasing cheaper, longer-running agents. Today the stack snapped into focus. IBM put native reasoning and sandbox-trained tool use into downloadable dense models you can run on-prem or at the edge. ggml’s llama.cpp finally treated vision and audio as first-class local inputs instead of a research extra. Anthropic’s Claude Code kept grinding the terminal agent into something you can leave running overnight without babysitting permission prompts. None of these is a flashy “new model family” headline from a closed lab—they are the unglamorous pieces that decide whether an agent ships in production this quarter. If you still treat local inference as a hobby and coding agents as autocomplete, the last 48 hours just made that posture expensive.

Top Stories

IBM Granite 4.2 adds native reasoning and agentic RL under Apache 2.0 Practical dev impact: You can now drop a 8B or 30B dense model with built-in `` CoT, OpenAI-format tool calling, and 128K–512K context into vLLM, Ollama, or SGLang without a proprietary license or a separate “reasoning” wrapper. IBM released the family on 25 Aug 2026 in 3B/8B/30B sizes, trained with multi-stage RL (foundational verifiable rewards plus agentic RL on SWE, terminal, and search sandboxes for the larger two). The 30B posts IBM-reported 89.17 AIME25 and 57 SWE-Bench Verified; thinking can be full, low-effort, or off per query. Speech 5.0 Turbo CTC models (470M) ship alongside for edge ASR. Weights are on Hugging Face, Ollama, and GitHub.

llama.cpp 0.3.0 ships multimodal vision/audio and DeepSeek 4 tensor-split Practical dev impact: Local stacks can now ingest images, audio, and video through `llama-server` / `llama-mtmd-cli` without a cloud projector, and DeepSeek 4 finally splits tensors across GPUs cleanly. The 25 Aug 2026 release adds the dots3-note model with a DSA-ISWA KV cache, WebP via ffmpeg, Pillow-accurate resize, MTP for GLM-4.5-Air, and ggml 0.22.0 (meta-backend tensor split, per-op Metal kernels). Server and web UI gained slot debug knobs and tabbed chat. This is the first llama.cpp version where multimodal is a supported product path rather than a fork.

Claude Code 2.1.246 hardens Auto mode and kills a long tail of session bugs Practical dev impact: Auto mode is now inspectable (new `/permissions` Auto tab) and safer on large transcripts; wildcard Bash allow-rules that silently match extra flags now warn at startup. The 25 Aug 2026 CLI release also timestamps turn completion, truncates pathological diffs, scales safety-check deadlines with prompt size, and fixes a pile of background-session, MCP interrupt, plugin, sandbox, and resume failures that were burning agent hours. Combined with Auto as the default on Pro/Max/Team, the terminal agent is closer to something you can leave on a long SWE loop without a human in the permission loop.

Practical Impact Analysis

The common thread is not another closed frontier drop—it is control planes catching up to models. Granite 4.2 is dense, Apache-2.0, and explicitly trained to plan-then-act inside sandboxes. That changes the default for regulated teams that cannot send code or tickets to a US-hosted API: you can fine-tune, air-gap, or run the 8B on a laptop and still get thinking + tools. llama.cpp 0.3.0 removes the last honest excuse for “we’ll add vision later.” Screenshots, diagrams, and voice notes become first-class context for local RAG and coding agents; tensor-split and Metal kernel work mean the same binary that ran 7B last year can now host a 30B multimodal session on mixed hardware. Claude Code’s 2.1.246 patch train is the other half of the same story: the harness, not the model, is where agents die. Auto-mode classifier rules you can edit, wildcard-Bash warnings, and resume/MCP fixes are the difference between a demo and a CI job that does not page you at 2 a.m.

Cost and ops shift accordingly. A 30B Granite or a llama.cpp multimodal server is cheaper per SWE-Bench-style loop than a frontier API once you amortize the GPU, and you keep the weights. Mix them: use Claude Code (or Codex) for the high-stakes refactor, Granite or llama.cpp for bulk classification, test generation, and screenshot-to-code. The risk is operational, not capability—thinking-mode tokens, KV-cache shape, and Auto-mode false negatives now live in your runbooks. Teams that still treat “local” as a science-fair project will pay the closed-API tax twice: once in spend, again in data-residency reviews.

Tutorial

Run Granite 4.2-8B locally via Ollama, enable thinking, and give it a tiny tool-using coding task so you can see CoT + function calling without a cloud key. Requires Ollama 0.33+ and ~10 GB RAM/VRAM.
bash Tutorial
# 1. Pull the 8B (or granite4.2:30b if you have the VRAM)
ollama pull granite4.2:8b

# 2. One-shot: thinking on, JSON tool call for a local "run_tests" stub
ollama run granite4.2:8b --think <<'EOF'
You are a coding agent. Think step by step inside <think> tags.
You have one tool:
{"name":"run_tests","description":"Run pytest in cwd","parameters":{"type":"object","properties":{}}}
The repo has a failing test in test_auth.py: test_login_rejects_empty_password.
Propose the one-line pytest invocation you would run, then emit a tool call.
EOF
▸ Show full code (11 lines)
# 1. Pull the 8B (or granite4.2:30b if you have the VRAM)
ollama pull granite4.2:8b

# 2. One-shot: thinking on, JSON tool call for a local "run_tests" stub
ollama run granite4.2:8b --think <<'EOF'
You are a coding agent. Think step by step inside <think> tags.
You have one tool:
{"name":"run_tests","description":"Run pytest in cwd","parameters":{"type":"object","properties":{}}}
The repo has a failing test in test_auth.py: test_login_rejects_empty_password.
Propose the one-line pytest invocation you would run, then emit a tool call.
EOF

Watch the model emit a `` block, then a structured tool call. Point `OLLAMA_HOST` at a remote box if you want the same binary in CI. Swap `–think` off for latency-sensitive bulk work. Pair with Claude Code Auto for the files you actually merge.

Grok Deep Dive

IBM just put Apache-2.0 3B/8B/30B dense models with native CoT, switchable thinking, and sandbox-trained tool use on Hugging Face and Ollama (Granite 4.2, 25 Aug 2026); llama.cpp 0.3.0 made local vision/audio real the same day; Claude Code 2.1.246 made Auto mode inspectable and killed a long tail of session/MCP bugs. Walk me through a production hybrid: when I should route a SWE-Bench-style loop to Granite 4.2-30B on a local vLLM box versus Claude Code Auto versus a frontier API, how I should budget thinking tokens and KV cache, and what evaluation harness (Terminal-Bench, SWE-Bench Verified, or a private screenshot-to-PR set) I should run this week before I trust any of them unattended.

Grok Deep Dive

Explore each Top Story in Grok — links open in a new tab. On phones, the same link may open the Grok app if you have it installed (via your device's normal link handling).

Article: IBM Granite 4.2 llama.cpp and Claude Code make hybrid local agents shippable

Privacy: links open grok.com in your session only. AIDevPulse does not run your prompts through our API.

Leave a Comment