Needle 2: a 14MB tool-calling LLM that runs on a Raspberry Pi
Cactus's 45M-param model does tool calls offline on sub-$200 hardware. Plus: Claude Code patches a CI-breaking Bash bug, and Copilot adds a live token meter.

Copy markdown
45M params, 14MB, 28MB of RAM
Needle 2 is a single 14MB binary — 45M parameters quantized to 2-bit — that runs a full session in about 28MB of RAM. It's tuned for tool calling, device control, and turning freeform text into schema-typed output, not chat, scoring 42.6% on BFCL v4 with a 93% well-formed-output rate.
500 tokens/sec on a Raspberry Pi 5
It decodes ~500 tok/s on a Raspberry Pi 5, 300-700 on sub-$200 phones like the Galaxy A-series, and 400-1,500 on a Quest 3S or Vision Pro — and it even fits on an ESP32-S3 microcontroller. Grammar-constrained decoding skips up to 98% of the vocabulary projection to hit those speeds.
Build this weekend: a private, offline device agent
Weights are open on Hugging Face and it installs with `pip install cactus-needle`. You can fine-tune it on your own tool vocabulary on a Mac in minutes, then ship an assistant that runs voice commands with no network — Pebble's Index Ring already does. A built-in confidence score escalates the hard requests to a cloud model.
Claude Code 2.1.227 unbreaks CI Bash steps
The Aug 10 patch fixes every Bash command failing under claude-code-action with allowed_non_write_users on GitHub-hosted runners — a hard blocker if your pipeline uses it. It also fixes feature flags being evaluated without your subscription tier when a session starts with an expired login token.
Copilot on web adds a live token meter
GitHub Copilot Chat on the web now shows per-session and per-message quota as you work, so you can watch spend before you blow through it. It also lets you minimize and resume conversations, and it's live on all Copilot plans.