Laguna S 2.1
poolside/laguna-s-2.1Laguna S 2.1 (poolside/laguna-s-2.1) is a laguna 117.6B-parameter model from Poolside with a 1,048,576-token context window and 131,072 max output tokens, priced at $0.09/1M input and $0.18/1M output tokens. Available via the haimaker.ai OpenAI-compatible API.
Overview
Laguna S 2.1 is a chat model by Poolside. It has 117.6B parameters. It supports a 1.0M token context window. Supports function calling, reasoning.
Model Card
Use on OpenRouter · Use on Vercel AI Gateway · Release blog post
Laguna S 2.1
Laguna S 2.1 is a 118B total parameter Mixture-of-Experts model with 8B activated
parameters per token, designed for agentic coding and long-horizon work. It sits
between Laguna XS 2.1 (33B-A3B) and
Laguna M.1 (225B-A23B) in the Laguna series and shares the family recipe: a
token-choice router with softplus gating over 256 routed experts plus one shared
expert, grouped-query attention, and interleaved full/sliding-window attention.
Highlights
- Mixed SWA and global attention layout: 48 layers in a 1:3 global-to-SWA ratio
- 1M context: 1,048,576-token context window
- Native reasoning support: interleaved thinking between tool calls, with
enable_thinking
- Speculative decoding: a trained
- Quantized variants:
- OpenMDW-1.1 license: Use and modify the model and associated materials freely
Model overview
- Number of parameters: 118B total, ~8B activated per token
- Layers: 48 (12 global attention, 36 sliding-window attention)
- Experts: 256 routed (top-10) plus 1 shared expert
- Attention: grouped-query, 8 KV heads, head dim 128; per-head softplus output gating
- Sliding window: 512 tokens
- Context window: 1,048,576 tokens
- Vocabulary: 100,352 tokens (Laguna family tokenizer)
- Modality: text-to-text
- Reasoning: interleaved thinking with preserved thinking
Benchmark results
| Model | Size | Terminal-Bench 2.1 | SWE-bench Multilingual | SWE-Bench Pro (Public Dataset) | DeepSWE | SWE Atlas (Codebase QnA) | Toolathlon Verified |
|---|---|---|---|---|---|---|---|
| Laguna S 2.1 | 118B-A8B | 70.2% | 78.5% | 59.4% | 40.4% | 46.2% | 49.7% |
| Tencent Hy3 | 295B-A21B | 71.7% | 75.8% | 57.9% | - | - | - |
| Inkling | 975B-A41B | 63.8% | - | 54.3% | - | - | 45.5%* |
| Nemotron 3 Ultra | 550B-A55B | 56.4% | 67.7% | - | - | - | 34.3%* |
| DeepSeek-V4-Pro Max | 1.6T-A49B | 64.0% | 76.2% | 55.4% | 9.0% | 27.2% | 55.9% |
| Kimi K3 | 2800B-A50B | 88.3% | - | - | 69% | - | - |
| Qwen 3.7 Max | - | 74.5%* | 78.3% | 60.6% | - | - | - |
| Muse Spark 1.1 | - | 80% | - | 61.5% | 53.3% | 42.2%* | 75.6% |
| Claude Fable 5 | - | 88% | - | 80.3% | 70% | - | - |
Benchmarks as of 21 July 2026. Laguna S 2.1 in bold; a dash (-) marks a benchmark a model was not evaluated on. Scores marked * are as reported by third parties: Terminal-Bench 2.1 and DeepSWE via Artificial Analysis, SWE Atlas via Scale AI's official leaderboard, and Toolathlon Verified via its official leaderboard. Full evaluation trajectories: trajectories.poolside.ai.
Usage
Laguna S 2.1 uses the same laguna architecture as Laguna XS 2.1, so the same
engine integrations apply (vLLM, SGLang, Transformers, TRT-LLM, llama.cpp). At 118B
parameters the BF16 checkpoint needs multiple GPUs (roughly 236GB of weights);
quantized variants reduce this substantially.
vLLM
vllm serve \
--model poolside/Laguna-S-2.1 \
--tensor-parallel-size 4 \
--tool-call-parser poolside_v1 \
--reasoning-parser poolside_v1 \
--enable-auto-tool-choice \
--served-model-name laguna \
--default-chat-template-kwargs '{"enable_thinking": true}'
NOTE: Optional: speculative decoding with DFlash. Pair with the
Laguna S 2.1 DFlash draft model
by adding--speculative-config '{"model":"poolside/Laguna-S-2.1-DFlash","num_speculative_tokens":7,"method":"dflash"}'.
SGLang
python -m sglang.launch_server \
--model-path poolside/Laguna-S-2.1 \
--tp-size 4 \
--reasoning-parser poolside_v1 \
--tool-call-parser poolside_v1 \
--trust-remote-code
TRT-LLM
trtllm-serve poolside/Laguna-S-2.1 --trust-remote-code \
--tool_parser poolside_v1 --reasoning_parser laguna
Note the flag names differ from vLLM's (--tool_parser, and the reasoning parser
is laguna, not poolside_v1).
llama.cpp
GGUF conversions are available at
poolside/Laguna-S-2.1-GGUF.
Serve with poolside's llama.cpp fork, branchlaguna, which carries
full Laguna support including DFlash speculative decoding. (Base Laguna support
is also in upstream review:
ggml-org/llama.cpp#25165.)
git clone --branch laguna https://github.com/poolsideai/llama.cpp
cd llama.cpp && cmake -B build && cmake --build build -j
./build/bin/llama-server -m laguna-s-2.1-Q4_K_M.gguf --jinja --port 8000
with DFlash speculative decoding:
./build/bin/llama-server -m laguna-s-2.1-Q4_K_M.gguf \
-md laguna-s-2.1-DFlash-BF16.gguf \
--spec-type draft-dflash --spec-draft-n-max 7 -fa on --jinja --port 8000
Ollama
Run directly from the Ollama library:
ollama run laguna-s-2.1
Quantization variants are available as tags (q4_K_M, q8_0, f16, mxfp8,nvfp4, mlx-bf16), for example ollama run laguna-s-2.1:q8_0. The Laguna chat
template is baked into the model, so tool-calling and interleaved reasoning work
automatically.
Controlling reasoning
Laguna S 2.1 has native reasoning support and works best with preserved thinking:
keep reasoning_content from prior assistant messages in the message history.
The model will generally reason before calling tools and between tool calls, and
may stop reasoning in follow-up steps if prior thinking blocks are dropped.
Thinking is controlled per request via the chat template:
extra_body={"chat_template_kwargs": {"enable_thinking": False}}
or at the server level with--default-chat-template-kwargs '{"enable_thinking": true}'. For agentic coding
use cases we recommend enabling thinking and preserving reasoning in the message
history.
License
This model is licensed under the OpenMDW-1.1 License.
Intended and Responsible Use
Laguna S 2.1 is designed for software engineering and agentic coding use cases, and you are responsible for confirming that it is appropriate for your intended application. Laguna S 2.1 is subject to the OpenMDW-1.1 License, and should be used consistently with Poolside's Acceptable Use Policy. We advise against circumventing Laguna S 2.1 safety guardrails without implementing substantially equivalent mitigations appropriate for your use case.
Please report security vulnerabilities or safety concerns to security@poolside.ai.
Features & Capabilities
| Mode | chat |
| Context Window | 1,048,576 tokens |
| Max Output | 131,072 tokens |
| Function Calling | Supported |
| Vision | Not supported |
| Reasoning | Supported |
| Web Search | Not supported |
| Url Context | Not supported |
Technical Details
| Architecture | LagunaForCausalLM |
| Model Type | laguna |
| Library | transformers |
API Usage
from openai import OpenAI
client = OpenAI(
base_url="https://api.haimaker.ai/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="poolside/laguna-s-2.1",
messages=[
{"role": "user", "content": "Hello, how are you?"}
],
)
print(response.choices[0].message.content)Frequently Asked Questions
What is the context window of Laguna S 2.1?
Laguna S 2.1 (poolside/laguna-s-2.1) has a 1,048,576-token context window and supports up to 131,072 output tokens per request.
How much does Laguna S 2.1 cost?
Laguna S 2.1 is priced at $0.09 per 1M input tokens and $0.18 per 1M output tokens when accessed via the haimaker.ai OpenAI-compatible API.
What features does Laguna S 2.1 support?
Laguna S 2.1 supports function calling, reasoning.
How do I use Laguna S 2.1 via API?
Send requests to https://api.haimaker.ai/v1/chat/completions with model "poolside/laguna-s-2.1" using any OpenAI-compatible SDK. Authentication uses a Bearer API key from https://app.haimaker.ai.
Use Laguna S 2.1 with the haimaker API
OpenAI-compatible endpoint. Start building in minutes.