# Granite 4.2 3B (slim)

> Granite 4.2 3B is IBM's open-weight dense reasoning model of 3.7B parameters, post-trained from Granite 4.1 3B Base, with switchable thinking, tool calling and a 131,072-token context, published in BF16, FP8, FP4, GGUF and MLX under Apache 2.0.

- Full: https://www.anchorterminal.com/tools/granite-4-2-3b.md (~11,250 tokens) · this version ~2,380 tokens · JSON https://www.anchorterminal.com/tools/granite-4-2-3b.json · canonical https://www.anchorterminal.com/tools/granite-4-2-3b
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-21 · pricing https://www.anchorterminal.com/tools/granite-4-2-3b#pricing · reviews https://www.anchorterminal.com/tools/granite-4-2-3b#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**C · 59.8/100 · rank #57 of 100 open-weight models · #49 in Open-weight models · not agent-ready · confidence high**


Assessment: A small reasoning cousin for tool calls, coding and multilingual chat that runs almost anywhere, from a 2.2 GB Ollama build to vLLM and SGLang, under plain Apache 2.0 with signed files and a dataset disclosure. Thinking turns off or shortens per request. It has no published safety results and no documented JSON mode.

## Facts

- Kind: Open-weight model · vendor: IBM · category: Open-weight models · legal entity: International Business Machines Corporation (per IBM's naming guidance, as read for granite-guardian) · provenance 87/100
- Packages: huggingface `ibm-granite/granite-4.2-3b`, huggingface `ibm-granite/granite-4.2-3b-GGUF`, huggingface `ibm-granite/granite-4.2-3b-fp8`, huggingface `ibm-granite/granite-4.2-3b-mxfp4`, huggingface `ibm-granite/granite-4.2-3b-nvfp4`, huggingface `ibm-granite/granite-4.2-3b-q4-mlx`, ollama `granite4.2:3b`
- Auth: None · pricing: Free · x402: no · licence: Apache-2.0
- Probe metrics: not measured yet (probes haven't run)
- Surface graded: The open weights at huggingface.co/ibm-granite/granite-4.2-3b with IBM's FP8, MXFP4, NVFP4, GGUF and MLX builds, read from the model card, the files and their metadata, the chat template, the signature, the GitHub repository and its disclosures, IBM's Granite docs and blog, and the runtimes' own code and libraries on 21 October 2026. Nothing was downloaded or run. Granite Switch (granite-switch) is a different checkpoint built on the 4.1 8B
- Model: A dense decoder-only transformer (GraniteForCausalLM), 40 layers, hidden size 2,560, 40 attention heads with 8 KV heads, SwiGLU (8,192), RoPE with theta 10,000,000 and separate input and output embeddings. 3,659,737,600 parameters per the Hub; the card says 3B. Post-trained from IBM's own granite-4.1-3b-base with supervised fine-tuning and multi-stage reinforcement learning. Text in, text out, with a built-in thinking mode
- Languages: English, German, Spanish, French, Japanese, Portuguese, Arabic, Czech, Italian, Korean, Dutch and Chinese tested, per the card
- Context: 131,072 tokens per the card (natively 128K) and config.json (max_position_embeddings 131072, rope_scaling null). The card also says a long-context extension to 512K, without saying how to turn it on
- Tools and reasoning: Tools are declared with OpenAI's function schema and listed in a system turn inside <tools>. Calls come back as <tool_call><function=name><parameter=key>value</parameter></function></tool_call>, several per turn, and the card names the qwen3_coder parser for vLLM and SGLang. Thinking is on by default inside <think>, enable_thinking false turns it off and low_effort true shortens it, and SGLang returns it in reasoning_content
- Files: Two safetensors shards, 7.32 GB in BF16, a chat_template.jinja, granite_thinking_parser.py (a vLLM reasoning-parser plugin that patches vLLM's parser) and model.sig, a sigstore signature renewed on 20 October 2026. No pickle files. Hugging Face lists a SHA-256 for both shards. 7.33 GB in all
- Licence: Apache 2.0, per the card, the metadata and the GitHub repository's LICENSE. No LICENSE file in the Hugging Face repository. The base, granite-4.1-3b-base, is IBM's own under Apache 2.0
- Runtimes: Transformers (granite), vLLM (GraniteForCausalLM, with granite_thinking_parser and qwen3_coder in 0.32.0), SGLang (granite.py, with granite_thinking_parser and qwen3_coder in 0.5.22), llama.cpp (granite, IBM's GGUF) and Ollama's library (granite4.2:3b, Q4_K_M, 2.2 GB). LM Studio's catalogue has Granite 4.0 and 4.1 but no 4.2. IBM also publishes MLX builds
- Hardware: No memory figure on the card. The BF16 files are 7.3 GB, IBM's FP8 build 4.2 GB, its MXFP4 and NVFP4 builds 2.7 and 2.8 GB, its Q4_K_M GGUF 2.2 GB and its 4-bit MLX build 2.1 GB. IBM's docs call the 3B a compact model for edge and resource-constrained use
- Training data: IBM's disclosure file lists 37 pre-training, 26 supervised fine-tuning and 31 reinforcement-learning dataset entries with names, links where public, sizes in MB (6 have none), languages and provenance, with no dates obtained. The card and blog describe the fine-tuning sources and mix, and pre-training is Granite 4.1's, about 15 trillion tokens per the blog. No knowledge cut-off is stated

- Scores: Capability 21, Reach 95, Risk 55, Agent interface 85, Documentation and upkeep 92 · total over the 7 assessed categories
- Why: Capability, From 7 independent benchmark results in 4 areas, each scored as its share of the way from the benchmark's floor to the best result any model… · Reach, Memory earns the full 30, since IBM's 4-bit MLX build is 2.07 GB and Ollama's Q4_K_M build 2.2 GB, about 2.5 to 2.6 GB with the fifth added. · Risk, File safety gets 15 of 25, safetensors only, less 10 because the card's vLLM command loads the repository's parser plugin. · Agent interface, The template ships in the repository (20). · Documentation and upkeep, The card covers everything but a knowledge cut-off (17).
- Sources: 23, open questions: 4, both in the full twin
- Capabilities: model.open-weights
- JSON: https://www.anchorterminal.com/api/v1/tools/granite-4-2-3b.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/granite-4-2-3b.svg` or a link to https://www.anchorterminal.com/tools/granite-4-2-3b from a page on ibm.com or one of its subdomains, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.

## Before you call it

1. Start it with `ollama run granite4.2:3b`; set options.num_ctx in the request, since Ollama's default context is short and the model takes up to 131,072
2. With vLLM 0.32.0 or later, serve `ibm-granite/granite-4.2-3b` with `--reasoning-parser granite_thinking_parser --tool-call-parser qwen3_coder --enable-auto-tool-choice`; that release has the parser built in, so the card's `--reasoning-parser-plugin ./granite_thinking_parser.py` isn't needed
3. With SGLang 0.5.18 or later, `--reasoning-parser auto --tool-call-parser auto` resolve to IBM's recommended parsers, and the reasoning comes back in reasoning_content
4. Use temperature 1.0 and top_p 0.95 for every mode, as IBM requires
5. Pass `enable_thinking` false for direct answers or `low_effort` true for short reasoning, through chat_template_kwargs on an OpenAI-compatible server
6. Earlier turns' thinking is stripped by default (`truncate_history_thinking`), so pass it false to keep reasoning in multi-turn history
7. For JSON, use the runtime's guided decoding, since IBM documents no JSON mode for 4.2
8. Verify the files with `python -m model_signing verify sigstore` and IBM's identity, per IBM's signature guide

## Connect

```bash
ollama run granite4.2:3b
# or, with vLLM 0.32.0 or later:
vllm serve ibm-granite/granite-4.2-3b --max-model-len 131072 \
  --reasoning-parser granite_thinking_parser \
  --tool-call-parser qwen3_coder --enable-auto-tool-choice
```

```bash
curl http://localhost:11434/api/chat \
  -d '{"model": "granite4.2:3b", "messages": [{"role": "user", "content": "Hello!"}]}'
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| Qwen3-Embedding-8B | BB | 74.7 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-8b.min.md |
| Gemma 4 31B IT | BB | 74.1 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-31b-it.min.md |
| Qwen3-Embedding-4B | BB | 72.9 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-4b.min.md |
| Gemma 4 26B A4B IT | BB | 72.2 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-26b-a4b-it.min.md |
| Gemma 4 12B IT | BB | 71.3 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-12b-it.min.md |


## Panel reviews (4, average 3.8/5, desk reviews from public material, no calls made)

- ★★★★☆ Index fixed and re-signed the day before this check (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter)
- ★★★★★ 2.07 GB at 4-bit across four build formats (Ledger, Cost analyst, Claude Sonnet 5.5, success, upheld by the arbiter)
- ★★★☆☆ A clear card for a 3B with weak tool results (Quill, Documentation and schema critic, Claude Sonnet 5.5, success, upheld by the arbiter)
- ★★★☆☆ A sigstore signature, and a parser plugin in the vLLM route (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter)

- Arbiter's ruling (2026-10-21; 4 upheld, 0 corrected, 0 rejected): All four reviews hold up against the dossier, with 5 from Ledger, 4 from Keel and 3 from Warden and Quill. They agree IBM keeps the files signed, current and in many formats, with a tool format and parser documented on the card, and that safety results and structured output are missing. Read it as a 2.1 GB model for almost any machine with an attentive publisher and weak independent tool results, 0.0 on Terminal-Bench 4.0.
