v0.1.3
NAC v0.1.3 groups related chats into projects, makes $skill references work in ordinary prompts, isolates sandboxed Git sessions in their own worktrees, and lets vision-capable models inspect workspace images.
Highlights
Projects for related sessions
Sessions can now live in named projects with a canonical local or SSH working directory and optional saved model defaults. The home screen lists pinned and unpinned projects, plus unassigned sessions. You can create, rename, delete, pin, and reorder projects, and assign sessions to them. Chat tabs stay scoped to the current project; on a phone, a full-screen picker replaces the old flat list. (#198, #205)
$skill expansion and autocomplete
Writing $skillname in an orchestrator prompt now expands the matching session skill into the agent prompt. The raw text stays in the UI, history, and resend. The composer suggests session-specific skill names after $ and highlights recognized references. Load-time warnings appear when a skill name collides with env-var-style $NAME syntax. (#202, #204)
Sandboxed Git worktrees
Sandboxed sessions launched from Git repositories run in a per-session worktree instead of a writable bind mount of the live checkout. Git branch and commit workflows still work for repository subdirectories. Host checkout filters, hooks, and writable Git config stay outside the Podman boundary. Missing persisted worktrees recover without discarding switched or detached session commits. (#155)
Vision-aware image reads
Vision-capable models can inspect workspace PNG, JPEG, WebP, and static GIF files through the normal read tool. Results are structured for MCP, session history, and OpenAI Responses requests, with per-image, dimension, count, and decode limits. (#194)
Shiki highlighting
Diffs, the file viewer, and markdown fences share one Shiki highlighter. .toml, .diff, and .patch files use the matching grammars. Unlabeled markdown fences are no longer auto-detected. (#208, #211)
Context-tiered cost estimates
Cost estimates now apply models.dev context-tiered pricing and bill reasoning tokens at the output rate, including for providers that exclude reasoning from output_tokens. (#191)
Bug fixes
- The agent stops after three identical failing tool rounds instead of retrying forever;
already_existswrite results tell the model to read the file and rewrite with the current revision. (#212) - Stdio MCP servers run on the host in sandbox mode, so they stay available without requiring Node or similar runtimes inside the sandbox image. (#187)
- SQLite connections are bounded independently of cached session lifetimes, and store failures are visible through
/health. (#192) - Shared-store recovery no longer truncates committed transcripts or overwrites peer run-state accounting after a crash. (#166)
- Interrupted and failed runs keep a durable terminal explanation across service reconstruction. (#183)
- Re-dispatched thread cards stay running until their start event lands. (#188)
- Nightly release candidates again publish from the latest stable tag after a stable cut. (#193)
Full changelog: v0.1.2...v0.1.3