Choose for the work
We select specific model files for coding agents on consumer hardware. Small models can suit light tasks without qualifying for multi-step coding.
THE MODEL CATALOG
Choose a local LLM profile with a prepared engine, memory plan and measured decode speed.

CHOSEN FOR LOCAL CODING
Each profile is chosen for a coding task, an engine and a memory footprint. This is a curated shortlist, with testing and limits attached to each entry.
We select specific model files for coding agents on consumer hardware. Small models can suit light tasks without qualifying for multi-step coding.
Readiness requires a completion from a fresh start, then memory and decode checks on the reference Mac. Experimental entries still have checks outstanding.
Measured peak memory counts only profiles measured to their displayed window on the reference Mac; estimated memory is calculated. Published coding scores appear where available and describe the base model, not every quantization.
Skip guessing engine flags and quantization settings: Bridge1 pairs each catalog artifact with its engine and runtime profile. Every recorded speed figure here was measured on one Mac, an Apple M1 Max with 64 GB. Other Macs have not been measured, so this page does not project speed for them. Full Context means the largest window your Mac’s memory can hold, up to each model’s maximum; client limits still apply. Bridge1 checks memory before each load instead of asking you to guess a context budget. Compare each quantized artifact’s decode speed with its conditions; memory estimates are labelled.
Quantization stores model weights at reduced precision to lower their footprint. GGUF is the model-file format used by llama.cpp; MLX is the Apple Silicon inference framework used by the catalog’s MLX profiles. Bridge1 prepares the selected profile so you do not assemble engine settings by hand.
| MODEL + PROFILE | METHOD KEY | ENGINE | SIZE ON DISK | DEFAULT CONTEXT ON M1 MAX | MEMORY RESERVED AT THAT CONTEXT | CALCULATED MEMORY FIT | DECODE, SHORT | DECODE, AT DEPTH | VISION | SWE-BENCH VERIFIED |
|---|---|---|---|---|---|---|---|---|---|---|
Ornith 1.5 35B-A3BOptiQ 4-bit · default for coding | BExperimental | MLX | 23.1 GB | 229,376 tokens | 54.9 GB · measured | Fits from 48 GBAt 48 GB: Window: 131,072 tokens · calculatedMemory basis: measuredFits from 48 GB · minimum for coding | 81.2 tok/sconditions not recorded | —not measured | Yes | 79.0 creator |
Qwen3.6 35B-A3Bmxfp4 · editor's choice | AExperimental | MLX | 19.3 GB | 229,376 tokens | 55.2 GB · estimatedMeasured to 131,443 tokens (39.1 GB peak, M1 Max 64 GB). The 229,376-token window is estimated at 55.2 GB. | Fits from 48 GBAt 48 GB: Window: 147,456 tokens · calculatedMemory basis: estimatedFits from 48 GB · minimum for coding | 94.8–98.6 tok/s | 47.1 tok/s | Yes | 73.4 creator |
Qwen3.8 27B4-bit | BExperimental | MLX | 16.1 GB | 131,072 tokens | 55.4 GB · estimatedMeasured to 82,541 tokens (39.1 GB peak, M1 Max 64 GB). The 131,072-token window is estimated at 55.4 GB. | Fits from 48 GBAt 48 GB: Window: 81,920 tokens · calculatedMemory basis: measuredFits from 48 GB · minimum for coding | 20.0–20.7 tok/s | 20.8 tok/s | Yes | — |
Qwen3.6 27B4-bit | AExperimental | MLX | 16.1 GB | 114,688 tokens | 55.0 GB · estimated | Fits from 48 GBAt 48 GB: Window: 65,536 tokens · calculatedMemory basis: estimatedFits from 48 GB · minimum for coding | 18.6–19.2 tok/s | 15.8 tok/s | Yes | 77.2 creator |
Gemma 4 26B-A4BQAT 4-bit · see note | — | MLX | 15.6 GB | 262,144 tokens | 54.1 GB · estimated | Fits from 48 GBAt 48 GB: Window: 163,840 tokens · calculatedMemory basis: estimatedFits from 48 GB · minimum for coding | 58.2–59.9 tok/sconditions not recorded | 26.0 tok/s | Yes | — |
Ternary Bonsai 2 27B2-bit ternary · shipped artifact | — | MLX | 8.6 GB | 81,920 tokens | 53.0 GB · estimatedMeasured to 65,964 tokens (39.7 GB peak, M1 Max 64 GB). The 81,920-token window is estimated at 53.0 GB. | Fits from 48 GBAt 48 GB: Window: 65,536 tokens · calculatedMemory basis: measuredFits from 48 GB · minimum for coding | 19.7 tok/sconditions not recorded | —not measured | Yes | — |
Ternary Bonsai 27B2-bit ternary · shipped artifact | — | MLX | 8.5 GB | 98,304 tokens | 54.0 GB · estimatedMeasured to 65,988 tokens (37.5 GB peak, M1 Max 64 GB). The 98,304-token window is estimated at 54.0 GB. | Fits from 48 GBAt 48 GB: Window: 65,536 tokens · calculatedMemory basis: measuredFits from 48 GB · minimum for coding | 25.2–25.3 tok/s | 15.1 tok/s | Yes | — |
Ornith 1.5 9BOptiQ 4-bit | — | MLX | 7.1 GB | 229,376 tokens | 55.0 GB · estimated | Fits from 32 GBAt 32 GB: Window: 65,536 tokens · calculatedMemory basis: estimatedFits from 32 GB · minimum for coding | 47.1 tok/sconditions not recorded | —not measured | No | 70.6 creator |
Qwen3.5 4B4-bit · light tasks only | — | MLX | 3.1 GB | 131,072 tokens | 43.7 GB · estimated | Fits from 32 GBAt 32 GB: Window: 65,536 tokens · calculatedMemory basis: estimatedFits from 32 GB · minimum for coding | 81.1–83.5 tok/s | —not measured | Yes | — |
Qwen3.5 2B4-bit · light tasks only | — | MLX | 1.7 GB | 262,144 tokens | 13.7 GB · estimated | Fits from 16 GBAt 16 GB: Window: 196,608 tokens · calculatedMemory basis: estimatedFits from 16 GB · minimum for coding | 121.3–126.5 tok/s | —not measured | Yes | — |
Qwen3.6 27BGGUF Q8_0 | C | GGUF / llama.cpp | 29.0 GB | 229,376 tokens | 55.6 GB · estimated | Fits from 64 GBAt 64 GB: Window: 262,144 tokens · calculatedMemory basis: estimatedFits from 64 GB · minimum for coding | 20.0 tok/sconditions not recorded | —not measured | Yes | 77.2 creator |
Muse Glimmer 30BGGUF Q6_K_L | A + LMature | GGUF / llama.cpp | 24.1 GB | 131,072 tokens | 45.1 GB · estimated | Fits from 64 GBAt 64 GB: Window: 131,072 tokens · calculatedMemory basis: estimatedFits from 64 GB · minimum for coding | 21.8–25.9 tok/sconditions not recorded | —not measured | Yes | 76.0 creator |
Ornith 1.5 35B-A3BGGUF Q4_K_M · editor's choice | L | GGUF / llama.cpp | 21.7 GB | 262,144 tokens | 29.0 GB · estimated | Fits from 32 GBAt 32 GB: Window: 131,072 tokens · calculatedMemory basis: estimatedFits from 32 GB · minimum for coding | 61.5–70.1 tok/sconditions not recorded | —not measured | Yes | 79.0 creator |
Qwen3.6 35B-A3BGGUF UD-Q3_K_M | C + L | GGUF / llama.cpp | 17.1 GB | 262,144 tokens | 27.0 GB · estimated | Fits from 32 GBAt 32 GB: Window: 229,376 tokens · calculatedMemory basis: estimatedFits from 32 GB · minimum for coding | 55.6–63.1 tok/sconditions not recorded | 35.0 tok/s | Yes | — |
Qwen3.8 27BGGUF UD-Q4_K_S | C + L | GGUF / llama.cpp | 15.4 GB | 262,144 tokens | 41.8 GB · estimated | Fits from 48 GBAt 48 GB: Window: 262,144 tokens · calculatedMemory basis: estimatedFits from 48 GB · minimum for coding | —not measured | — | Yes | — |
Ornith 1.5 9BGGUF Q4_K_M · editor's choice | L | GGUF / llama.cpp | 5.8 GB | 262,144 tokens | 17.0 GB · estimated | Fits from 16 GBAt 16 GB: Window: 81,920 tokens · calculatedMemory basis: estimatedFits from 16 GB · minimum for coding | 42.0–44.6 tok/sconditions not recorded | 28.1 tok/s | Yes | 70.6 creator |
FrogNano-4B-2609Q4_K_M · ExperimentalExperimental: tool calls not verified; decode not measured. Published by Microsoft. SWE-bench Verified 61.5% and Terminal-Bench 2.0 31.1%, self-reported by Microsoft, measured on its original weights with its own harness, not on this quantization. Licence: Apache-2.0 / MIT (publisher-claimed, unconfirmed). | — | GGUF | 2.8 GB | 131,072 tokens | 9.8 GB · estimated | Fits from 16 GBAt 16 GB: Window: 131,072 tokens · calculatedMemory basis: estimatedFits from 16 GB · minimum for coding | —not measured | —not measured | No | — |
Qwen3.5 2BQ6_K · ExperimentalExperimental: tool calls not verified; decode not measured | — | GGUF | 1.6 GB | 262,144 tokens | 7.2 GB · estimated | Fits from 16 GBAt 16 GB: Window: 262,144 tokens · calculatedMemory basis: estimatedFits from 16 GB · minimum for coding | —not measured | —not measured | No | — |
Between sizes, pick the lower one; 64+ GB means 64 or more and is calculated at 64.
Fits means at least 65,536 tokens for coding; the window is the largest 16,384-token step within budget, up to the model’s maximum. Safety allowances follow the measured or estimated figures, with default features on for one model; “catalog figure only” means no window calculation is available.
The macOS reserve rule is a third of installed memory, at least 4 GB and at most 8 GB. Without your Mac’s GPU ceiling, the calculation holds back that reserve or 15% if larger; macOS can allow less. Tight leaves at most 1 GB above the minimum coding window. Hardware sizes use binary units; catalog GB are decimal.
Method keys: A — DFlash; B — DFlash2; C — MTP; L — n-gram lookup; — — no drafter. Methods and catalog mapping → Method credits →
Size on disk is the downloaded model files. Bridge1's caches and engine files are additional and can be reclaimed in Settings → Storage.
Context window is the input and output a model can hold for a request. Default context is the largest window the memory plan admits on the reference Mac. It changes with the machine and the memory budget, and you can change a model's window as an Advanced setting.
Decode rate is engine-reported tokens per second; see how prefill and decode affect latency. “Short” is a short prompt; “at depth” is decode with a long conversation already in context. A range is the spread of recorded runs, not a promise. For 9 profiles the decode figure was recorded without its conditions, so the prompt depth and prediction state are not recorded; those cells say so.
SWE-bench Verified is the published score for the base weights, from the model's creator unless marked otherwise. It is not a score for Bridge1's exact quantization. Full evidence is on the Evidence page.
Light tasks only. These models did not finish multi-step coding tasks in our tests.
With OpenCode or Codex, this model failed some multi-step tasks in our tests.
See Drafter Fusion for shipping methods, measured results and limits.
Also in the catalog: Qwen3-VL-2B-Instruct, a small vision model. Bridge1 uses it to read images for text-only models. It is not offered to clients as a model to choose.
Ornith 1.5 35B-A3B (MLX, OptiQ 4-bit) is the default for coding. In our 40-task eval, run through Claude Code, it passed every task. That eval used small repositories and is not a public benchmark.
Editor's Choice models are curated per engine: Ornith 1.5 35B-A3B (GGUF), Qwen3.6 35B-A3B (MLX, mxfp4), Qwen3.6 35B-A3B MTP (GGUF) and Ornith 1.5 9B (GGUF).
MEMORY AND FIT
Choosing an inference tool? Compare Bridge1, Ollama and LM Studio by design →
No. Full Context means the largest window your Mac’s memory can hold, up to each model’s maximum; client limits still apply. Bridge1 counts weights, context and engine overhead before loading, rather than assuming a model’s advertised window fits every Mac.
Understand model memory fitChoose by the artifact’s memory row, not its parameter count alone. Qwen3.8 27B and Ornith 1.5 35B-A3B have different MLX and GGUF profiles. The table separates measurements from estimates; Bridge1 checks your live budget before loading. Speed measured on M1 Max 64 GB is not a projection for another Mac.
Check memory before choosingMLX is the recommended engine on confirmed Apple Silicon; llama.cpp runs the catalog’s GGUF artifacts. Choose the specific quantization and memory fit rather than assuming the same model name means identical files or speed. Each profile keeps its own measurements and limitations.
The downloaded weights are only the starting footprint. Context state and engine overhead also consume memory, so a small file does not establish that a long conversation fits. Bridge1’s pre-load plan counts the complete bill; the catalog labels measured memory separately from conservative estimates.
Usually no: the published score describes the publisher’s tested artifact, often base weights. It cannot establish coding quality for a different quantization or engine profile. Bridge1 keeps model-quality scores separate from local runtime evidence so decode speed does not become a claim about task success.
October 9–10, 2026, M1 Max 64 GB, two-turn Python fixture: 2B failed turn 1 with Claude Code, Codex and OpenCode (n=1 each). 4B passed OpenCode (n=1), but failed turn 2 with Claude Code and Codex (n=2 each). The 4B helper gate’s 9-of-10 result is a different test.