[WSL2][Onboard] Express install selects smaller Ollama model despite a larger installed model
- Dominant language
- TypeScript
- Stars
- 22.5k
- Forks
- 3.1k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 715
Description
> [!WARNING]
> **Regression** — #10954 / PR #11187 was expected to fix this in v0.0.122. Still broken in v0.0.122 on the managed llama.cpp-unavailable → Ollama fallback path.
## Description
On RTX Spark N1X running WSL2, NemoClaw Express install selects a smaller installed Ollama model instead of the largest model compatible with the device GPU capacity. When `qwen3.6:35b` remains installed, Express install selects `qwen3.5:9b`.
This originally reproduced on v0.0.114, was tracked in #10103, then reopened as #10954 after it still failed on v0.0.119. PR #11187 added an N1x WSL exception (`n1xWslOllamaEligible` in `src/lib/inference/nim.ts`, plus `src/lib/inference/platform-identity/n1x-wsl.ts`). That code is present in v0.0.122, but Express install still selected `qwen3.5:9b` on v0.0.122.
The v0.0.122 retest did not go directly to Ollama. Managed llama.cpp was unavailable, then onboarding fell back to Ollama. Preflight had already proven Docker GPU and capacity (`30345 MiB` available of `31168 MiB`), but that N1x/GPU-proof state did not carry into the Ollama model-selection call. `n1xWslOllamaEligible` therefore evaluated false, compute-constrained selection stayed on, and the smaller model was chosen.
Platform scope: Reproduced on WSL2 only; other platforms not tested.
Regression: Yes — still broken in v0.0.122 after #10954 was closed as fixed by PR #11187.
OpenShell issue: No.
Related: #10103, #10954, #11187
## Environment
```text
Device: RTX Spark N1X
OS: Windows build 28000.2787 with WSL release 2.6.3
Architecture: arm64
Node.js: v22.23.2
npm: 10.9.8
Docker: Docker version 29.7.2
OpenShell CLI: openshell 0.0.106
NemoClaw: originally v0.0.114; still reproduces on v0.0.119 and v0.0.122
OpenClaw: 2026.7.1
```
## Steps to Reproduce
1. On WSL2 RTX Spark N1X, make these Ollama models available: `qwen3.5:9b` and `qwen3.6:35b`.
2. Run:
```bash
curl -fsSL https://www.nvidia.com/nemoclaw.sh | NEMOCLAW_INSTALL_TAG=v0.0.122 bash
```
3. Accept the third-party software notice and confirm Express install.
4. Observe that managed llama.cpp is reported unavailable, onboarding falls back to Ollama, and `qwen3.5:9b` is selected while `qwen3.6:35b` remains installed.
## Expected Result
After Preflight proves Docker GPU and at least 30,000 MiB available on RTX Spark N1X, Express install selects the largest installed compatible Ollama model. On this device that is `qwen3.6:35b`, including when Ollama is reached via the managed llama.cpp-unavailable fallback path.
## Actual Result
Preflight reports Docker GPU proof passed and `30345 MiB` available of `31168 MiB`. Configuring inference then reports managed llama.cpp unavailable, falls back to Ollama, and loads `qwen3.5:9b`.
## Logs
```text
✓ Docker GPU proof passed; trusting the reported GPU.
✓ Docker GPU capacity proof: 30345 MiB available of 31168 MiB.
Managed llama.cpp is unavailable on this N1x host: No automatic managed llama.cpp preset matches this host.
[non-interactive] Provider: ollama
Loading Ollama model: qwen3.5:9b
```
Contributor guide
Assessment
This issue has not been assessed yet.