Running Claude Code Offline on an M3 Pro with Qwen3.6: 4 Fixes That Made It Work

Claude Code connects to a local model on an Apple M3 Pro (18 GPU cores, 36GiB unified memory, ~150 GB/s bandwidth) running qwen3.6:35b-a3b-coding-nvfp4 — a 35.1B-parameter MoE model with ~3B active per token, NVFP4 quantized, ~21GB on disk and ~20GiB resident. The setup took a Kubernetes incident from investigation to PR: found root cause, wrote patch, pushed branch, filed PR via gh — all air-gapped. Four fixes turned a model that timed out in 10 minutes into one that closes the loop. Speed is hardware-bound; capability is not.
Stack and Environment
- Hardware: Apple M3 Pro, 18 GPU cores, 36 GiB unified memory, ~150 GB/s memory bandwidth
- Model:
qwen3.6:35b-a3b-coding-nvfp4 - Runtime: Ollama 0.24.0, MLX runner (Apple Silicon-native)
- Client: Claude Code v2.1.84 pointed at local Ollama endpoint
Key environment variables (set in a launchd plist for persistence):
OLLAMA_MLX=1
OLLAMA_CONTEXT_LENGTH=32768
OLLAMA_FLASH_ATTENTION=1
OLLAMA_MULTIUSER_CACHE=1
OLLAMA_KEEP_ALIVE=24h
OLLAMA_NO_CLOUD=1
Setup Steps
- Install Ollama 0.24.0+
ollama pull qwen3.6:35b-a3b-coding-nvfp4(~21GB one-time)- Start server with the env vars above
- Launch Claude Code:
ANTHROPIC_BASE_URL=http://localhost:11434 MAX_THINKING_TOKENS=0 claude --model qwen3.6:35b-a3b-coding-nvfp4 - Smoke test:
Run kubectl get pods -A and tell me if anything appears unhealthy
Performance Notes
First tool call: seconds (thinking disabled). Prefill (loading ~25K tokens) takes ~60s. Subsequent turns are faster due to prefix caching (OLLAMA_MULTIUSER_CACHE). The model stays loaded via OLLAMA_KEEP_ALIVE=24h. Burst of 404s in Ollama log during prefill is normal (fix #4).
The MoE architecture is key: only ~3B active per token, so runtime cost resembles a 14B dense model while answers approach 35B. A dense 35B doesn't fit 36GiB.
📖 Read the full source: HN LLM Tools
👀 See Also

Open-Source Framework Uses Claude Code CLI for Automated GitHub Repo Monitoring
A developer has open-sourced a framework that runs Claude Code CLI on a cron schedule to triage GitHub activity across multiple repositories. The tool includes state tracking, deduplication, Discord notifications, and a pre-check system that avoids API costs when nothing has changed.

McPherson AI releases two new QSR operations skills on ClawHub: food cost diagnostics and labor leak auditing
Two new free skills have been published on ClawHub: qsr-food-cost-diagnostic catches COGS issues weekly with a four-lever diagnostic, and qsr-labor-leak-auditor provides daily labor tracking with mid-week alerts to prevent overspend.
Lovelace: Project Management for Claude Code That Lives in Your Repo
A desktop app where tickets, docs, and session records are Markdown files inside your repo. The app renders a kanban board from the files, and Claude works the same files through 8 MCP tools. Free, no account needed.

Engram: Hybrid Memory Plugin for OpenClaw Agents — Vector + Semantic Search with Decay
Engram gives OpenClaw agents persistent memory across sessions using SQLite+FTS5 for exact recall and LanceDB for semantic search, with decay classes and auto-capture hooks.