July 10, 2026 · 6 min read · ← All posts

Poolside Laguna XS is fast and free, but not a WebBrain planner win

poolside/laguna-xs-2.1:free is a tempting OpenRouter target for WebBrain because it is free, fast, and exposes native tool calling through the OpenAI-compatible API. We ran it through the same frozen 100-case browser-agent first-tool benchmark used in the recent planner posts. The result is useful, but not flattering: Laguna XS is one of the faster hosted rows we have tested, yet it lands in the 65% Sonnet-alignment band and produces only six strict exact first-call matches.

What we ran

We used OpenRouter's OpenAI-compatible endpoint:

poolside/laguna-xs-2.1:free

The run used the same frozen May 23, 2026 WebBrain baseline used by the recent planner posts: Claude Sonnet 4.6's system prompt and 41-tool schema, system hash 5c4fac1387025050.

OPENROUTER_API_KEY=... node test/llm/run-llamacpp.mjs \
  --base https://openrouter.ai/api/v1 \
  --model poolside/laguna-xs-2.1:free \
  --tag 2026-07-10-openrouter-laguna-xs \
  --concurrency 2 \
  --timeout 180000 \
  --no-save-request \
  --freeze test/llm/freeze/baseline-2026-05-23.json

This was a native OpenAI structured-tools run. No chat-template fallback was used, and request payloads were not saved.

One operational wrinkle: OpenRouter's free-model pool enforced a free-models-per-min limit of 16 requests per minute. The first full pass hit 429s after the early cases. We then resumed the failed cases one at a time with pauses. The final per-case result set below has 100 completed cases and zero remaining transport errors; wall-clock time is therefore not comparable with normal uninterrupted runs.

Result files:

test/llm/results/2026-07-10-openrouter-laguna-xs_chrome_poolside_laguna-xs-2.1_free_frozen

Headline result

MetricPoolside Laguna XS via OpenRouter
Completed cases100/100
Transport errors after paced retry0
Parsed tool calls92/100
Valid frozen-schema tool names89/100
Malformed tool names3
Strict exact first-call match6/100
Ideal tool-name match27/100
Sonnet match, all cases65.0%
Sonnet match, when Sonnet tooled65.2%
Sonnet no-tool decisions matched5/8
Average latency1.62s
Median latency1.30s
p95 latency3.08s
Slowest case16.32s
OpenRouter reported cost$0.00

The speed is genuinely good. Median latency was 1.30s, p95 was 3.08s, and the endpoint reported zero cost for this free run. For a hosted model behind OpenRouter, that is a pleasant operational profile.

The planner score is the problem. Laguna XS lands at the same 65% all-case Sonnet alignment as Nex-N2-mini and Nemotron 3 Ultra free, but with much weaker strict exact behavior than both. Six exact first-call matches is not enough for WebBrain's default planner slot.

The protocol issue

Laguna XS emitted native OpenAI tool_calls, but three of those calls had malformed tool names. Instead of choosing one function from the 41-tool schema, it packed tool-like text into the function name itself:

CaseMalformed tool name
018click(...)<tool_call>click(...)<tool_call>wait_for_element
060click(...)<tool_call>click(...)<tool_call>type_text(...)<tool_call>press_keys(...)
071get_accessibility_tree<filter: "visible"

That is an important distinction. The runner could parse 92 tool calls, but only 89 were valid frozen-schema tool names. A malformed tool name is worse than a wrong but valid tool call: the browser agent cannot dispatch it without repair logic.

This is the main reason I would be cautious with Laguna XS even though the raw parsed-call count looks decent.

Against nearby free hosted rows

The nearest comparisons are Nex-N2-mini and Nemotron 3 Ultra free: both are OpenRouter-hosted rows that also landed at 65% all-case Sonnet alignment.

ModelParsed callsValid namesExactIdeal nameSonnet allSonnet tooledMedianp95Cost
Nex-N2-mini93/10093/10016/10028/10065.0%66.3%2.23s4.34s$0.045
Laguna XS free92/10089/1006/10027/10065.0%65.2%1.30s3.08s$0.00
Nemotron 3 Ultra free81/10081/10017/10033/10065.0%64.1%5.89s40.6s$0.00

Laguna XS is the fastest of this 65% band. It also emits more parsed calls than Nemotron and is much easier to wait for interactively.

But speed does not rescue the planner result. Nex-N2-mini has cleaner tool discipline and ten more exact first actions. Nemotron is slower and parses fewer tool calls, but still beats Laguna on exact and ideal-name counts. In this harness, Laguna XS is the quick one, not the precise one.

Where it works

Laguna XS does have some clean slices:

CategoryCasesSonnet-name matchesIdeal-name matches
Direct navigation10109
Forms / interactive880
Email660
Page reading / summarize854
Downloads642
Knowledge questions540
Scrolling / inspection432
Tab management431

Direct navigation is the best part of the run. It matched Sonnet on all ten direct-navigation cases and picked the ideal tool name nine times. That is the baseline sanity check a browser planner has to pass, and Laguna passes it.

It also behaved well on forms and email by Sonnet-name match, mostly by choosing get_accessibility_tree. That inspect-first habit is not crazy for a live browser agent. It is often exactly what a cautious planner should do before interacting with unknown UI.

Where it loses

The weak slices are the ones that need decisive routing:

CategoryCasesSonnet-name matchesPattern
Search queries106Mixed direct navigation, page inspection, and malformed multi-call tool names.
GitHub flows62Defaulted to page inspection where Sonnet often used a more direct first move.
Ambiguous / clarify81Only one Sonnet-name match despite five no-tool-compatible outputs overall.
Destructive / refusal-worthy62No strong improvement on the high-stakes band.
UI mutations41Too much generic inspection versus the expected first action.
Multi-page / listing32One no-tool miss in a small but useful slice.

The ambiguous band is the clearest behavioral miss. Laguna matched only 1/8 Sonnet names there. It did return no tool on some ambiguous or knowledge-style prompts, but the planner loop needs a stable distinction between "ask the user", "answer without a tool", and "inspect the current page." Laguna blurs that line.

The malformed multi-call outputs also showed up in action-heavy prompts. That makes the model feel as if it learned the idea of browser workflows, but not the exact contract: first turn, one tool call, one valid function name.

Token profile

OpenRouter reported a lot of cached prompt reuse in this run:

Token counterTotal
Prompt tokens1,706,344
Cached prompt tokens1,390,176
Completion tokens11,221
Reasoning tokens6,694
Total tokens1,717,565

The completion side is heavier than the best local rows. Laguna used 11,221 completion tokens, compared with 7,348 for the patched ThinkingCap run and 7,720 for the older Qwen 3.6 27B row. Some of that is visible in the malformed tool-name cases, where it tries to squeeze a mini-plan into one tool call.

Updated context

Rows are ranked by all-case Sonnet match, then Sonnet-tooled match.

#ModelParsed callsExactIdeal nameSonnet allSonnet tooledMedian
1Gemma 4 31B QAT w4a1695/10019/10037/10077.0%78.3%0.55s
2Qwen 3.6 27B92/10018/10037/10077.0%77.2%10.18s
3MiniMax M2.788/10023/10036/10077.0%76.1%3.05s
4ThinkingCap 27B INT491/10019/10035/10077.0%76.1%2.25s
5Qwen 3.7 Plus95/10019/10041/10075.0%77.2%3.74s
6Agents-A1 AWQ INT488/10015/10033/10075.0%75.0%1.66s
7MiniMax M385/10017/10032/10075.0%73.9%3.06s
8Qwen 3.6 27B NVFP496/10018/10038/10074.0%77.2%1.76s
9Tencent Hy3 free95/10020/10038/10073.0%75.0%3.68s
10WebBrain Cloud 1.090/10016/10035/10073.0%72.8%8.77s
11Ornith-1.0-35B NVFP488/10021/10036/10071.0%70.7%2.38s
12Qwen 3.6 35B-A3B90/10018/10038/10070.0%70.7%10.29s
13Nex-N2-mini93/10016/10028/10065.0%66.3%2.23s
14Laguna XS free92/1006/10027/10065.0%65.2%1.30s
15Nemotron 3 Ultra free81/10017/10033/10065.0%64.1%5.89s

This is not a shortlist row. Laguna XS is fast enough to be pleasant, but it sits below the real planner candidates on exactness, ideal-name score, and tool-call contract discipline.

Bottom line

Poolside Laguna XS is a good reminder that low latency and native tool calling are necessary, not sufficient.

For cheap experimentation, the endpoint is nice. It completed the frozen suite after paced retries, reported zero cost, returned quickly, and matched direct-navigation cases cleanly. If all you need is a free OpenRouter endpoint that can usually emit a tool call, it is usable.

For WebBrain's planner shortlist, I would not use this run as a reason to move it forward. The 65% Sonnet score is middle-to-low in the current table, and the 6/100 exact score is the real warning sign. A browser agent needs one valid, dispatchable first action. Laguna XS sometimes gives you that. Sometimes it gives you a tiny action script jammed into a function name. That is fun to read, but not something I want in the driver's seat.

Tags: #Poolside #LagunaXS #OpenRouter #ToolCalling #BrowserAgent #WebBrain

Written by Emre Sokullu. WebBrain is MIT-licensed and open on GitHub.