Quick answer: Laguna XS 2.1 is Poolside's lightest and fastest agentic coding model — a 33B-total / 3B-active sparse MoE with a 256K context window, trained in-house on 15T tokens. It scores 70.9% on SWE-bench Verified and is small enough to run locally on a Mac with 36 GB RAM. Available free on OpenRouter and Ollama under the commercial-friendly OpenMDW-1.1 license.
Where Laguna XS 2.1 leads
enable_thinking.Where it lags
Best for: On-device and self-hosted agentic coding workflows where low inference cost and hardware portability matter more than absolute frontier performance.
Laguna XS 2.1 is the small tier of Poolside's Laguna model family, released July 2, 2026 on Hugging Face. It is a second-generation architecture, built on lessons from training Laguna M.1, and represents Poolside's first open-weight release. The model was pre-trained in-house on 15 trillion tokens, then post-trained and fine-tuned with reinforcement learning inside Poolside's proprietary pool agent harness across 409,000+ agentic and non-agentic training environments.
The architecture is a token-choice Mixture-of-Experts transformer with 40 layers: 10 global attention layers and 30 sliding-window attention layers (512-token window), all using sigmoid gating with per-layer rotary scales. There are 256 routed experts plus 1 shared expert per MoE layer, keeping activated compute at ~3B parameters per token despite 33B total weights. The KV cache is quantized to FP8, reducing memory footprint per cached token. A trained speculative decoding draft model (DFlash) is available for lower-latency serving.
Laguna XS 2.1 improves over its predecessor Laguna XS.2 by +1.0 point on SWE-bench Verified (70.9% vs. 69.9%) and +5.4 points on SWE-bench Multilingual (63.1% vs. 57.7%). Poolside notes that the gains primarily came from scale, training improvements, and more diverse post-training data — the pre-training corpus is the same as XS.2. The model is available in BF16 on Hugging Face, with FP8, NVFP4, and INT4 quantised variants provided separately.
| Field | Value |
|---|---|
| Organization | Poolside |
| Total parameters | 33B |
| Active parameters | ~3B per token |
| Architecture | Sparse MoE — 256 routed experts + 1 shared, sigmoid gating, per-layer rotary scales |
| Layers | 40 (10 global attention, 30 sliding-window attention) |
| Sliding window | 512 tokens |
| Vocabulary | 100,352 tokens (Laguna family tokenizer) |
| Context window | 262,144 tokens (256K) |
| Max output | 32,768 tokens |
| Numerics | BF16 (FP8/NVFP4/INT4/GGUF variants available) |
| Reasoning | Yes — interleaved thinking with preserved thinking |
| Input modalities | Text |
| Output modalities | Text |
| Pre-training data | 15T tokens |
| License | OpenMDW-1.1 (commercial use permitted) |
| Release date | July 2, 2026 |
| HuggingFace | poolside/Laguna-XS-2.1 |
| Input (per 1M tokens) | Output (per 1M tokens) | |
|---|---|---|
| OpenRouter (free tier) | $0.00 | $0.00 |
| Poolside dedicated API | Contact Poolside | Contact Poolside |
Laguna XS 2.1 weights are freely downloadable from Hugging Face under OpenMDW-1.1, which permits commercial use. API access via OpenRouter is free for a limited period during beta; dedicated API pricing for production deployments is available through platform.poolside.ai.
Laguna XS 2.1 has a 256K-token context window (262,144 tokens) — roughly ≈ 393 A4 pages of text in a single request, with a 32K max output. The architecture uses interleaved full global attention (10 layers) and sliding-window attention with a 512-token window (30 layers), which keeps inference efficient while maintaining reasonable long-range coherence.
| Benchmark | Score | Source | Date |
|---|---|---|---|
| SWE-bench Verified | 70.9% | Poolside HuggingFace model card | 2026-07 |
| SWE-bench Multilingual | 63.1% | Poolside HuggingFace model card | 2026-07 |
| SWE-bench Pro | 47.6% | Poolside HuggingFace model card | 2026-07 |
| Terminal-Bench 2.0 | 37.5% | NVIDIA Build model card | 2026-07 |
All Laguna XS 2.1 benchmarking used the Laude Institute's Harbor Framework with Poolside's agent harness, max 500 steps, sandboxed execution, thinking enabled, 256K context. Scores are mean pass@1 averaged over multiple attempts per task. Source: Poolside and NVIDIA published materials. Not Benchgen measurements.
| Model | Context | Parameters (total/active) | SWE-bench Verified | SWE-bench Pro | License |
|---|---|---|---|---|---|
| Laguna XS 2.1 | 256K | 33B / 3B | 70.9% | 47.6% | OpenMDW-1.1 |
| Laguna S 2.1 | 1M | 118B / 8B | — | 59.4% | OpenMDW-1.1 |
| Qwen3-235B-A22B | 236K | 235B / 22B | — | — | Apache 2.0 |
| Inkling | 1M | 975B / 41B | 77.6% | 54.3% | Apache 2.0 |
| Qwen3.6-35B-A3B | 35K | 35B / 3B | 73.4% | 49.5% | Apache 2.0 |
At 33B/3B, Laguna XS 2.1 is the clear choice for local or constrained-budget deployments where the DGX Spark or equivalent single-node hardware is the constraint — it achieves SWE-bench Verified parity with models 10× its active size, at near-zero inference cost.
The 70.9% SWE-bench Verified score is notable for a model with only 3B active parameters: it matches or beats models with 4–10× more active compute on standard coding agent benchmarks. The training methodology — RL inside Poolside's own agent harness across thousands of real environments — produces a model tuned for the "way of working" that matters for unattended agents: verification, persistence, and not declaring victory prematurely. Poolside published full trajectories from its Laguna M.1/XS.2 evaluation at trajectories.poolside.ai, a transparency standard rare among labs of any size.
What the headline numbers don't capture is harness sensitivity. Laguna XS 2.1 is explicitly optimised for Poolside's own pool harness; teams running it under a different agent scaffold (different tool schemas, prompt formats, or step limits) should expect some performance degradation relative to published numbers. The Terminal-Bench 2.0 score of 37.5% suggests the model is not yet at frontier level for long-horizon terminal work specifically — the larger Laguna S 2.1 (70.2% on TB 2.1) is the better pick for that workload.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "poolside/Laguna-XS-2.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype=torch.bfloat16,
device_map="auto",
)
messages = [{"role": "user", "content": "Write a Python retry wrapper with exponential backoff."}]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
enable_thinking=True, # set False to skip chain-of-thought
).to(model.device)
outputs = model.generate(inputs, max_new_tokens=1024, do_sample=True, temperature=1.0, top_k=20)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))Or run locally with Ollama in a single command:
ollama run laguna-xs-2.1Specs and scores sourced from Poolside's HuggingFace model card and NVIDIA Build model card. Last updated 2026-07-23.
This model isn’t on any benchmark leaderboard yet.