Back to Freedom.Tech Back
All NanoClaw releasesAll versions
Release Fri, May 15, 2026 3 min read

NanoClaw 2.0.63

Original release notes

First properly published release. Starting with v2.0.63, the goal is to publish a GitHub Release for every package.json version bump that lands on main - releases are cut manually by a maintainer, so there can be lag. Until now only the bumps landed and tags were sporadic, which made it hard for packagers and users to pin to a known version. See RELEASING.md for the policy.

Rollup release covering v2.0.55 through v2.0.63 - everything merged since the v2.0.54 tag.

Changes

  • [BREAKING] Service names are now per-install. On v2 installs the launchd label and systemd unit are slugged to your project root: com.nanoclaw.<sha1(projectRoot)[:8]> and nanoclaw-<slug>.service. The old com.nanoclaw / nanoclaw.service names no longer match a real service - update any copy-pasted restart or status commands. Find your install's names with source setup/lib/install-slug.sh && launchd_label (macOS) or systemd_unit (Linux). The ncl transport-error help text and 26 skill files now use the canonical helper-driven pattern; see setup/lib/install-slug.sh.
  • Compaction destination reminder placement fixed. The reminder injected after SDK auto-compaction now appears at the end of the compaction summary so it isn't stripped during truncation. Replaces the placement shipped in v2.0.54.
  • Stronger message-wrapping enforcement. The poll loop nudges the agent when its output lacks <message> wrapping, and CLAUDE.md core instructions now require wrapping even for single-destination agents. The welcome flow no longer double-greets.
  • OneCLI credentials after MCP install. MCP servers added through add_mcp_server now inherit OneCLI gateway routing - fixes the case where the agent kept asking for API keys after installing a new server.
  • CLI scope hardening. scopeField now fails closed when scope is missing, and sessions get is guarded against cross-group oracle access from group-scoped agents.
  • gmail/gcal skills aligned with v2. /add-gmail-tool and /add-gcal-tool now reflect the v2 container-config model - DB-backed mounts, no dead TOOL_ALLOWLIST edits, no container.json writes that get clobbered on next spawn. Manual sqlite3/JSON1 invocations corrected.
  • Repo-rename cleanup. Remaining qwibitai/nanoclaw references swept to nanocoai/nanoclaw across code and docs; CI workflow guards updated so they no longer no-op after the rename.
  • Slack scope checklist now includes files:read and files:write for skills that read or post attachments.
  • The internal-tag description in destination instructions no longer mentions scratchpads (which confused agents into routing them incorrectly).
  • Container startup is now graceful when the on_wake column is missing on older sessions DBs.

New Contributors

First NanoClaw PRs from @dvirarad and @intentionaleva landed in this release - welcome both:

  • @dvirarad - https://github.com/nanocoai/nanoclaw/pull/2400
  • @intentionaleva - https://github.com/nanocoai/nanoclaw/pull/2460

Want to be in the next one? Anyone can open a PR - pick up a good first issue or propose your own change directly. Discord is there if you want a hand getting started.

Contributors

Thanks to everyone who landed work in this release:

  • @johnnyfish - #2384
  • @glifocat - #2392, #2402, #2408, #2489, #2493
  • @dvirarad - #2400
  • @gavrielc - #2410, #2412, #2413, #2414
  • @Koshkoshinsk - #2442, #2467, #2473
  • @intentionaleva - #2460

Full Changelog: https://github.com/nanocoai/nanoclaw/compare/v2.0.54...v2.0.63