v0.5.1 — the agentic release
The CLI grew from a chat REPL into a full agentic coding tool. Upgrade: pipx upgrade meshapi-code (see UPGRADE.md).
Getting started
- First-run key setup — hidden input, live verification, saved to
~/.meshapi/credentials(0600)./loginreplaces it. No env var needed. - Built-in update checker — background PyPI check with a one-key upgrade offer;
/updateon demand; declining a version never re-nags.
Models & routing
- Fuzzy model picker —
/model qwpops a menu of every qwen model;gpt4mfindsopenai/gpt-4o-mini./models [free|query]browses the catalog with context sizes and $/1M pricing. - Real auto-routing —
/route auto(gateway picks per prompt, resolved model shown);route: cheapest|fastest|balancednever existed server-side and is gone./fallback m1 m2ordered failover;/reasoning high|…. - Web search tool — the agent can search the web (permission-gated).
Agentic reliability
- Self-healing tool calls — malformed streamed arguments (missing commas, raw control chars, index-shuffled fragments) are repaired client-side; the model never re-reads its own broken JSON. Kills the retry doom-loop on cheap models. Raw failures logged to
~/.meshapi/toolcall_failures.jsonl. - Quality guard — stub code ("// Add game logic here") triggers one automatic fix-it pass with concrete evidence, then an honest warning + model suggestion if it survives. Suppressed when you ask for scaffolding on purpose.
- start_server intelligence — the port inside your command is detected and used; whatever port the server actually binds is adopted; progress ticker while waiting; "that's YOUR server, don't restart it" guidance; no orphaned processes on ctrl+c.
Terminal experience
- Type while it works — input stays live during streaming; Enter stacks messages that auto-run in order; unfinished text prefills the next prompt; ESC aborts a running turn. (macOS/Linux; Windows: between turns.)
- Permission mode always visible — shift+tab applies mid-run; answer
aat any approval to allow that tool for the session (safety guards still apply). - Framed input with repo · git-branch title, streaming header with live token counts, phase-aware spinner (
preparing write_file (↓ 3.2k chars)), background servers listed under the mode line, long streams tail-scroll instead of freezing.
Also
- Session-allowlisted approvals are safety-checked at AUTO strictness (caught by a test that literally attempted
sudo rm -rf /). - Windows: startup crash fixes, print-instead-of-run self-upgrade (running exe is file-locked), path-safe install detection.
- README/INSTALL/UPGRADE rewritten with separate macOS and Windows commands.
Full changelog: v0.4.6...v0.5.1
🤖 Generated with Claude Code