OpenAI shipped its first open-weight models in August 2025, and the smaller of the two, gpt-oss-20b, is the one people actually run at home. It’s a reasoning-focused model that fits on a single 16GB card, moves fast, and carries a genuinely permissive license. It’s also the most safety-tuned open-weight model you’ll find, which matters a lot depending on what you want it for. This review covers what it is, exactly what it takes to run gpt-oss locally, where it’s excellent, where it disappoints, and how it stacks up against Qwen3.

Short version: gpt-oss-20b is one of the best local reasoning-and-tools models in its size class, and it’s a poor fit if you want an unfiltered assistant. Both things are true.

What gpt-oss-20b actually is

gpt-oss-20b is a Mixture-of-Experts (MoE) model. It has roughly 21B total parameters but only activates about 3.6B per token, a small subset of 32 experts fires on each forward pass. That’s the whole trick behind its low VRAM appetite: you store a 21B-class model but pay compute closer to a ~4B model. If MoE is new to you, we break down the math in MoE models on low VRAM, explained.

The headline specs, verified against the model card and Ollama listing as of mid-2026:

  • License: Apache 2.0. Fully open weights, commercial use, no copyleft, one of the cleanest licenses in the open-weight space.
  • Context: 131,072 tokens (~128k). Note that Ollama defaults to a small context window unless you raise it; see how to increase Ollama’s context window.
  • Quantization: MXFP4. OpenAI released the MoE weights pre-quantized to ~4.25 bits per weight, so there’s no separate GGUF-conversion step needed, this is the native format.
  • Reasoning model with adjustable effort. You can set reasoning to low, medium, or high to trade latency for depth.
  • Harmony response format. It was trained on a specific prompt structure with separate reasoning and answer channels. Your runner handles this, but the model misbehaves if you bypass it.

Hardware: what it takes to run gpt-oss locally

This is where gpt-oss-20b earns its reputation. The model weights are roughly 12GB, plus a couple of GB for compute buffers and a KV cache that grows with context. In practice, budget ~14-16GB of VRAM for comfortable use with a healthy context window.

That puts it right at home on a 16GB GPU, an RTX 4060 Ti 16GB, RTX 5060 Ti 16GB, RTX 4070 Ti Super, or a used 3090. For a broader map of what fits in that tier, see best local LLM for 12-16GB VRAM.

The more interesting claim is that it runs on 16GB of unified memory or system RAM at all. Because MXFP4 shrinks the dominant MoE weights and only ~3.6B params activate per token, a 16GB Mac or a RAM-heavy CPU box can load it. You won’t get GPU speeds, but it works, which is unusual for a model this capable.

SetupTypical experience
16GB GPU (4060 Ti / 5060 Ti / 3090)Fast, full context, the sweet spot
24GB GPU (4090 / 3090)Very fast, room for big context + other apps
Apple Silicon 16-24GB unifiedUsable, slower prompt processing
CPU + 16-32GB RAM, no GPUWorks, single-digit to low-double-digit tok/s

How to run it

The fastest path is Ollama. Install it first (how to install Ollama), then pull the model:

ollama run gpt-oss:20b

That’s the exact tag. The download is on the order of ~13-14GB. There’s also a gpt-oss:120b sibling for people with 60-80GB of memory, but 20b is the home-user pick.

If you want a GUI with a model browser, LM Studio lists gpt-oss-20b directly, search for it, download the official OpenAI build, and chat. To push the context past Ollama’s default so you can actually use those 128k tokens, set a larger window:

# raise context for long documents/agents
/set parameter num_ctx 32768

Both runners implement the harmony format under the hood, so you don’t have to think about it for normal chat.

Where it shines

  • Reasoning for its size. OpenAI positions gpt-oss-20b as roughly comparable to their o3-mini on common benchmarks. Take any single benchmark number with skepticism, but subjectively, its chain-of-thought on math, logic, and multi-step problems punches above a typical dense ~7-14B model.
  • Tool use and agents. It was explicitly trained for function calling, web search, and code execution inside agentic loops. If you’re wiring a model into a tool-using workflow, this is one of the more reliable local options.
  • Speed. The small active-parameter count makes it genuinely fast, often well above what a dense model of similar quality delivers, and very quick on a 4090-class card. For what “fast enough” means in practice, see tokens per second: what’s actually usable.
  • Adjustable reasoning effort. Drop to low effort for quick chat, crank to high for hard problems. Few local models expose this cleanly.
  • Clean license. Apache 2.0 removes the licensing friction you get with some other families.

Where it disappoints

The big one: gpt-oss-20b is heavily safety-tuned, and it shows. It refuses more often than most open-weight peers, not just on genuinely harmful requests, but on edge-case creative, medical, adult, and “sensitive” prompts that models like Qwen3 or Mistral answer without blinking. If you came to local AI specifically to escape cloud-style refusals, the stock release will frustrate you. The community has produced abliterated and fine-tuned variants that loosen the alignment; our guide to abliterated models explains how that works and its trade-offs, and our best uncensored local models roundup lists alternatives built for freedom from the start.

Two more honest caveats:

  • Narrower world knowledge. Reasoning-tuned models can feel thinner on obscure facts, niche trivia, and long-tail topics than a broad dense model of similar or larger size. Expect to lean on RAG or tools for factual recall.
  • Hallucination on reasoning models. Like other heavy chain-of-thought models, it can produce confident, well-structured, wrong answers, especially when it “reasons” past the edge of what it knows. Verify anything that matters.

Verdict: gpt-oss-20b vs Qwen3 (and Gemma 3)

Here’s the honest comparison for a 16GB-class machine. VRAM figures assume a Q4-ish quant for the dense models.

ModelParams (total / active)VRAM to runLicenseBest at
gpt-oss-20b~21B / ~3.6B (MoE, MXFP4)~14-16GBApache 2.0Reasoning, tool use, agentic loops, speed
Qwen3 32B32B dense~18-20GB (Q4)Apache 2.0World knowledge, multilingual, coding, fewer refusals
Qwen3.6 27B27B dense~16-17GB (Q4)Apache 2.0Newer gen: multimodal, flagship-level coding, 256K context
Gemma 3 27B27B dense~15-17GB (Q4)Gemma (custom)Writing, vision, broad general knowledge

If your work is agentic and reasoning-heavy, tool-calling assistants, structured problem solving, code-adjacent logic, gpt-oss-20b is an easy recommendation and often the fastest good option in its footprint. Read our Qwen3 32B review and Gemma 3 27B review for the full picture on the alternatives.

If you want broad knowledge, flexibility, or an unfiltered assistant, reach for Qwen3 or an uncensored fine-tune instead. (The newer Qwen3.6 27B, a dense, multimodal, Apache-2.0 model with flagship-level coding and a 256K context, is the current-generation version of that pick and fits the same 16-24GB budget.) gpt-oss-20b is a sharp specialist wearing a strict safety collar, not a general-purpose “will answer anything” model.

Run it your way

gpt-oss-20b is a great reason to keep your AI local: Apache-2.0 weights, 16GB-friendly, no cloud, no logging, nobody metering your reasoning tokens. If you want a local uncensored companion on that same hardware, your choice of model, none of the refusals, the uncensored local AI guide is the build path. And if you want the companion without the build, Ember ships hers pre-tuned: uncensored, 18+, running locally on your own card for a one-time crypto payment. On 16GB you’d swap between her and gpt-oss rather than run both at once.

The point stands: you get to decide where your conversations live, so keep them on your own machine.