Skip to main content
Filled the v2.0.x → v2.1.4 product-changelog gap
Updated
2026-06-15
changelog/index.mdx jumped straight from v2.0.0 to v2.1.5. Reconstructed the ~80 intervening patch releases by mapping upstream version bumps, mirroring upstream’s own granularity rather than fabricating per-patch detail.
  • Milestone entries for the versions upstream’s CHANGELOG.md documents — the ncl admin CLI + v1→v2 migration (2.0.45), container-config-in-DB + cli_scope (2.0.48), per-group model/effort (2.0.54), the per-install-service-names breaking rollup (2.0.55–2.0.63), the destinations-through-approval fix (2.0.64), and the startup upgrade-marker breaking change (2.1.0)
  • Egress lockdown reconstructed for v2.1.1 from commits; honest rollups for the rapid-patch ranges (2.0.1–2.0.44 stabilization, 2.0.65–2.0.76) with a pointer to GitHub releases
  • Every version 2.0.1–2.1.4 is now accounted for in a labeled entry. Closes the last known gap noted in the v2.1.16 sweep
Provider-neutral voice pass
Updated
2026-06-15
Neutralized prose where “Claude” stood in for “the agent” generically — claims that read as false on a non-Claude (Codex/OpenCode/Ollama) group. Claude-specific facts and literals (the Claude Code CLI, the Claude Agent SDK, CLAUDE.local.md, Claude credentials) are kept verbatim.
  • extend/tools.mdx: the local-model tool skills keep the agent as the orchestrator (not “Claude”)
  • guides/scheduled-tasks.mdx: a firing is “a full model API call” / “the agent got called”
  • reference/mcp-tools.mdx: “the tools the agent can call” (dropped the (Claude) parenthetical); create_agent seeds the provider’s own memory surface (CLAUDE.local.md for Claude, the memory/ scaffold otherwise), matching the multi-agent-swarm fix
  • installation.mdx: the wizard does “provider auth”; quickstart.mdx: “AI-assisted recovery” (failure assist can be provider-owned since v2.1.16)
v2.1.16 sweep: provider selection + full re-verification
Updated
2026-06-15
Brought the whole site current with nanocoai/nanoclaw@e3986eb (v2.1.16) — every content page is now anchored at v2.1.16.
  • Product changelog + token count: added the v2.1.16 release (operator-driven provider selection, per-group provider switching via ncl groups config update --provider, and /migrate-memory) and bumped the codebase token count to 195k.
  • Provider selection (16 v2.1.15 pages): documented the setup-time runtime picker (quickstart), the memory-across-a-switch story and /migrate-memory (extend/providers), and fixed multi-agent-swarm (a spawned agent inherits its creator’s provider; the seed lands in the provider’s own memory surface) and upgrading (the /update-nanoclaw breaking-change check is skill-only now — it no longer diffs versions.json pins). Corrected six drifted file:line citations on reference/environment-variables.
  • Re-verified the 19 v2.1.4 main pages: 14 were no-drift; 5 fixed — installation (new provider-auth setup step), concepts/contributing (185k → 195k, vitest globs), reference/skills-catalog (added /migrate-memory; 45 → 46 skills), operate/troubleshooting (boot failures now log Container exited non-zero with a stderrTail), extend/overview (provider installs span three barrels now — host, container, and setup).
  • Re-verified the 8 channel pages: the channels registry branch is frozen at 8137440 (adapters unchanged since before v2.1.4), so no content drift — pinned that SHA on each page for precise future adapter-drift detection.
v2.1.15 sweep: product changelog and SHA re-verification
Updated
2026-06-14
Closed out the v2.1.4 → v2.1.15 drift sweep.
  • changelog/index.mdx: reconstructed the v2.1.5–v2.1.15 product releases from upstream commits (the upstream CHANGELOG.md still parks everything under [Unreleased]). v2.1.5 was the big one — multi-instance adapters and the interactive uninstaller
  • Re-verified and bumped verified-against SHAs to 435233a on pages whose cited files changed without any claim drifting: concepts/architecture, reference/container-config, guides/scheduled-tasks, concepts/isolation-levels, guides/multi-agent-swarm
  • channels/teams: corrected the webhook-path note to /webhook/{routingPath} to match the raw-route change
  • Known gap: the product changelog still jumps v2.0.0 → v2.1.5; the v2.0.1–v2.1.4 patch releases predate the docs site and remain unreconstructed
New page: Uninstall NanoClaw
New
2026-06-14
v2.1.15 added an interactive uninstaller (bash nanoclaw.sh --uninstall). New operate/uninstall.mdx documents it, verified against nanocoai/nanoclaw@435233a.
  • The scan → confirm → execute flow, the four removal groups, and what’s deliberately left alone (the OneCLI vault, other NanoClaw copies — everything is scoped to the per-checkout install slug)
  • The --dry-run and --yes flags, the .env backup, the Ctrl-C-safe confirm phase, and the manual fallback when node_modules/ is already gone
  • Resolved a flag-spelling discrepancy against source: the flags are --dry-run/--yes (kebab-case), and they’re CLI-only — there are no NANOCLAW_* env vars for them
  • reference/environment-variables.mdx re-verified (no env var drift in v2.1.15) and its SHA bumped
OneCLI gateway: /v1 requirement and version pins
Updated
2026-06-14
v2.1.15 moved @onecli-sh/sdk to 2.x, which talks to the OneCLI gateway’s /v1 API, and introduced versions.json as the machine-checkable source for sanctioned component pins. Verified against nanocoai/nanoclaw@435233a.
  • operate/credentials.mdx: setup installs the gateway and onecli CLI at the versions.json pins (onecli-gateway, onecli-cli), never latest; it probes /v1/health and warns (never auto-upgrades) when the gateway predates the /v1 API, pointing to the docs/onecli-upgrades.md runbook
  • operate/upgrading.mdx: the /update-nanoclaw breaking-changes step now also diffs versions.json for moved component pins and routes each to its migration path — a skill or a docs/ page
Provider capability hooks
Updated
2026-06-14
v2.1.15 added provider-agnostic capability hooks so a non-Claude provider can plug into NanoClaw without special-casing. Documented on extend/providers.mdx, verified against nanocoai/nanoclaw@435233a.
  • usesMemoryScaffold: a provider without native memory opts in, and the runner builds an idempotent memory/ tree (index.md, system/definition.md, memories/, data/) in the agent’s host-backed workspace at boot. Claude omits it — it already has native memory (CLAUDE.local.md).
  • onExchangeComplete: the poll loop hands each prompt/result round-trip to providers whose harness keeps no on-disk transcript, so they can archive exchanges themselves.
  • providesAgentSurfaces: a provider can declare it owns the composed project doc, skill links, and state dir; the host then skips the default surfaces and the provider composes its own.
  • Same pass nudged the page’s voice provider-neutral (Claude framed as the default, not the only brain).
Multi-instance adapters: the instance dimension
Updated
2026-06-14
v2.1.15 lets you run several adapters of one platform at once (e.g. three Slack apps in one workspace). A new instance dimension threads through the stack, and the docs now describe it where it lands. Verified against nanocoai/nanoclaw@435233a.
  • reference/adapter-interface.mdx: new optional instance field on the ChannelAdapter contract (defaults to channelType; URL-safe routing key); channelType clarified as the semantic platform key; webhook registration now uses a routingPath and the shared server also accepts raw registerWebhookHandler() routes
  • reference/db-schema.mdx + concepts/entity-model.mdx: messaging_groups is now keyed (channel_type, platform_id, instance); documented the new instance column, migration 016’s backfill (instance = channel_type), and the per-instance chat_sdk_kv key prefix
  • channels/overview.mdx + concepts/architecture.mdx: webhook server routes by routingPath with raw handlers taking priority; delivery resolves the owning adapter by instance so a reply leaves through the adapter the message arrived on
Drift sweep against v2.1.15: token count and container CLIs
Updated
2026-06-14
First slice of re-verification against upstream nanocoai/nanoclaw@435233a (v2.1.15, up from v2.1.4). Two code-confirmed factual corrections shipped; larger concerns (multi-instance adapters, provider memory scaffold, OneCLI /v1 upgrade, the new uninstall flow) follow in separate PRs.
  • introduction.mdx: codebase token count ~185k → ~194k (verified against repo-tokens/badge.svg)
  • installation.mdx and concepts/container-lifecycle.mdx: the container’s pinned global CLIs now come from a container/cli-tools.json manifest installed by install-cli-tools.shagent-browser is pinned to an exact version rather than tracking latest
Full portal refactor: job-based navigation, v2-only, code-verified
NewUpdated
2026-06-10
The whole site was restructured and rewritten across nine PRs (#296–#304), replacing the feature-centric tree (integrations/, features/, advanced/, api/) with a job-based journey: Get started → Channels → Operate → Build with agents → Extend → Understand, plus a Reference tab derived entirely from source code.

Structure

  • New navigation with 7 Documentation groups and a 2-group Reference tab; Changelog is a global anchor
  • 29+ redirects — no pre-refactor URL 404s
  • The fictional HTTP “API Reference” tab is gone; reference/ now documents the real surfaces: the ncl admin CLI (all 11 resources), environment variables, container config, the skills catalog (45 + 8 container skills), the channel adapter contract, agent MCP tools, and the full database schema

Content

  • Every page rewritten or written new against upstream source at nanocoai/nanoclaw@dc34ceb (v2.1.4) — never against upstream markdown, which has drifted
  • Every page carries a verified-against comment naming the source files and SHA it was checked against, so future drift is detectable per page
  • 12 v1 ghost pages deleted (x-twitter, parallel-ai, voice-transcription, image-vision, pdf-reader, remote-control, ipc-system and more — all verified absent from v2 code)
  • New pages: v1/OpenClaw migration guide, Signal/iMessage/Teams/CLI-channel/more-channels, configuration, credentials, upgrading, isolation levels, self-modification, writing skills, first-agent tutorial, and the seven reference pages
  • Code-first corrections shipped along the way: tini is not PID 1 at runtime, groups/global/ is dead code, skills were never git branches in v2, Gmail is an MCP tool rather than a channel, MAX_CONCURRENT_CONTAINERS is parsed but unenforced, and the Teams wizard prints a webhook path the server 404s (documented with a warning)

Meta

  • The repo’s own CLAUDE.md and the three Mintlify automation workflows were rewritten so future sessions and automated PRs inherit the v2 model and the code-first verification rule
v2.0.0 launch readiness: front-door rewrites
Updated
2026-04-22
Phase A of the v2 documentation sprint — bringing the pages every new user lands on into alignment with the v2 rewrite. All claims verified directly against upstream source (src/db/schema.ts, src/types.ts, src/config.ts, container/Dockerfile, src/delivery.ts) rather than upstream docs/ (which includes a stale architecture.md draft and a db-session.md that omits the container_state table).

Rewritten

  • introduction.mdx: v2 positioning — two-DB session IO, entity model, Node + Bun runtime split, OneCLI-only credentials. Token count updated to ~127k (~64% of context window). Source file table aligned with src/ as of v2.0.1.
  • quickstart.mdx: one-command bash nanoclaw.sh flow replaces the v1 fork-and-clone + Claude Code + /setup dance. Documents the three-level setup log contract (terminal, logs/setup.log, per-step raw logs) and the Anthropic OAuth exception.
  • installation.mdx: simplified to system requirements + platform prerequisites + bash nanoclaw.sh. Service management retained (launchd / systemd / WSL wrapper). File-structure tree updated for data/v2-sessions/, store/v2.db, and the per-session inbound.db + outbound.db layout.
  • integrations/overview.mdx: reframed around channels (13+) and providers (4), both living on dedicated branches (channels, providers). Expanded channel list to cover Teams, iMessage, Matrix, Google Chat, Webex, Linear, GitHub, WeChat, Resend, and the local /claw CLI.
  • features/customization.mdx: full v2 rewrite — verified trigger pattern code against src/config.ts, replaced nonexistent POLL_INTERVAL / SCHEDULER_POLL_INTERVAL with actual ACTIVE_POLL_MS / SWEEP_POLL_MS from src/delivery.ts, documented per-wiring engage config (engage_mode, sender_scope, ignored_message_policy, session_mode), kept OneCLI / legacy credential proxy as version tabs.

v2 update banners

Added <Warning> banners to pages pending a v2 rewrite (channel adapters moved to a single channels branch in v2, not per-channel skill/* branches):
  • integrations/whatsapp.mdx, telegram.mdx, discord.mdx, slack.mdx, gmail.mdx, x-twitter.mdx, skills-system.mdx
  • integrations/ollama.mdx (Ollama now lives on the providers branch — /add-ollama-provider or /add-ollama-tool)

Token count sync

  • integrations/skills-system.mdx: 43.8k → 127k
  • CLAUDE.md: maintenance note updated to reflect the v1.2.53 → v2.0.0 jump
v2.0.0: architectural rewrite docs
Updated
2026-04-22
Merged PR #187 — comprehensive rewrite of concepts, advanced, api, and features pages for the v2.0.0 ground-up architectural rewrite (nanocoai/nanoclaw#1919). Closed PRs #184, #185, #186 as superseded.

Updated

  • Two-database session model: inbound.db (host writes) + outbound.db (container writes) replace stdin/stdout piping and filesystem IPC — documented across concepts/architecture, advanced/ipc-system, advanced/container-runtime
  • Entity model: agent groups, messaging groups, wirings (many-to-many), users, and roles replace the v1 group/channel model — new concepts/groups and api/group-management
  • Bun-based agent runner: runs TypeScript directly (no compilation), shared source via read-only bind mount, tini as PID 1 — concepts/containers, advanced/container-runtime
  • Permissions system: engage modes (pattern/mention/mention-sticky), sender scope (all/known), unknown sender policies (strict/request_approval/public), approval flows — concepts/security, advanced/security-model
  • Delivery system: two-poll architecture (active 1s, sweep 60s) with delivery action registry — features/messaging
  • Task model: tasks as messages_in rows with cron recurrence and series tracking — concepts/tasks, features/scheduled-tasks, api/task-scheduling
  • OneCLI Agent Vault is the sole credential path; legacy credential proxy removed — advanced/security-model, api/configuration
  • Changelog: v2.0.0 release entry

Archived

  • v1 docs frozen at branch v1-docs (public-facing, docs only) and tag v1-docs-final (full repo snapshot)
v1.2.53 sync: token count, ONECLI_API_KEY, SDK config
Updated
2026-04-15

Updated

  • Token count: Updated from 43.7k to 43.8k in introduction and skills-system pages
  • Configuration: Added ONECLI_API_KEY env var to OneCLI Agent Vault tab
  • Container SDK config: Documented allowDangerouslySkipPermissions: true flag in containers page
  • Changelog: Added v1.2.53 product release entry
Weekly health check: v1.2.48–v1.2.52 sync
Updated
2026-04-07

Updated

  • Token count: Updated from 43.4k to 43.7k in introduction and skills-system pages
  • Changelog: Added v1.2.48–v1.2.52 product release entries
  • Skills system: Added /add-karpathy-llm-wiki to upstream skills listing; added /migrate-nanoclaw and /migrate-from-openclaw to operational skills
  • Troubleshooting: Added session artifact auto-pruning section with retention policy table
  • Architecture: Documented auto-compact threshold at 165k tokens
v1.2.46–v1.2.47 sync: store mount, reply context, requiresTrigger
Updated
2026-04-04
Triaged 3 automated Mintlify PRs (#175–#177). Merged #177 (most comprehensive), closed #175 and #176 (superseded). Cherry-picked unique content from closed PRs.

Updated

  • Store mount (rw): Documented store/ read-write mount for main agent across containers, container-runtime, security, security-model, groups, customization pages
  • requiresTrigger parameter: Added to register_group MCP tool description in containers and messaging pages
  • Reply context: Updated architecture database section with reply_to_message_id, reply_to_message_content, reply_to_sender_name columns
  • isMain preservation: Updated register_group handler snippet in messaging page
  • CONTAINER_MAX_OUTPUT_SIZE: Added truncation behavior note to configuration reference
  • Token count: Updated from 43.3k to 43.4k in introduction and skills-system pages
  • Changelog: Added v1.2.46 and v1.2.47 product release entries
Breaking change detection docs
Updated
2026-04-03
  • quickstart: Added breaking change changelog scan to /update-nanoclaw step list
  • integrations/skills-system: Added “Breaking change detection” subsection documenting the [BREAKING] entry scan and migration skill prompts
v1.2.45 sync: container timeout fix, new skill
UpdatedFixed
2026-04-02

Fixed

  • concepts/containers: Removed incorrect “15-second exec timeout” claim from stopContainer — the source uses execSync with no timeout, falling back to SIGKILL on failure

Updated

  • integrations/skills-system: Added /add-macos-statusbar utility skill to upstream skills listing
  • changelog/index: Added v1.2.45 release entry with new contributors and skill
PR triage: v1.2.43–v1.2.46 sync
Updated
2026-04-02
Reviewed and triaged 8 automated Mintlify PRs (#161–#168). Merged 4, closed 4 (superseded or stale token counts). Validated all changes against upstream source code at v1.2.46. Deleted 11 stale branches (4 PR + 7 orphan).

Updated

  • OneCLI version labels: Corrected Agent Vault version from v1.2.22+ to v1.2.35+ across 8 pages, added tabbed 401 troubleshooting
  • Ollama integration: Added 4 admin tools (ollama_pull_model, ollama_delete_model, ollama_show_model, ollama_list_running) gated by OLLAMA_ADMIN_TOOLS=true, noted Ollama removal from core
  • Stale session recovery: Added auto-recovery docs to troubleshooting and container-runtime lifecycle, plus manual sqlite3 fallback
  • Container runtime: Documented hostGatewayArgs(), --add-host flag, curl/git in container image
  • SDK options: Added settingSources and sender parameter docs
  • Reply context: Documented reply/quoted message support — reply_to attribute, <quoted_message> element, 4 new NewMessage fields, DB migration
  • Token count: Updated from ~42.4k to ~43.3k (22%)
  • v1.2.43 changelog: Added npm audit dependency fixes bullet
Health check fixes and remote-control security clarification
UpdatedFixed
2026-03-30
Merged automated health check PR #158 (4 of 5 fixes verified against upstream). Corrected the remaining inaccurate claim in a follow-up (#159).

Fixed

  • api/message-routing: Removed phantom channel?: ChannelType param from formatOutbound signature
  • features/scheduled-tasks: Updated TIMEZONE snippet to current resolveConfigTimezone() with IANA validation and UTC fallback
  • advanced/container-runtime: Fixed stopContainer code from async exec() callback to actual sync try/catch pattern
  • api/configuration: Added trace as valid LOG_LEVEL value (used by container runner for verbose output)
  • features/messaging: Corrected stale src/session-commands.ts reference to src/index.ts, and fixed misleading description of what index.ts does

Updated

  • advanced/remote-control: Fixed inaccurate security section — the remote control URL requires Anthropic sign-in, not just URL secrecy. Based on feedback from Gavriel Cohen.
Automated PR triage: v1.2.35–v1.2.42 sync
UpdatedFixed
2026-03-28
Reviewed and triaged 27 automated Mintlify PRs (#92–#151). Merged 6, consolidated 7 into a single verified PR (#153), closed 15 (superseded, fabricated, or conflicting). Validated all changes against upstream source code at v1.2.42. Deleted 41 stale mintlify/* branches.

Updated

  • OneCLI rebrand: Renamed “OneCLI Gateway” to “OneCLI Agent Vault” across 15 pages, updated URL to github.com/onecli/onecli. Code snippets preserved as-is (upstream source still uses “gateway” in code).
  • Message limits: Corrected 200-message cap to MAX_MESSAGES_PER_PROMPT (default 10) across messaging, architecture, and configuration pages
  • Dependencies: Removed phantom deps (pino, pino-pretty, yaml, zod), updated better-sqlite3 to 11.10.0 and cron-parser to 5.5.0
  • Token count: Updated from ~41.3k to ~42.4k
  • Mount property: Fixed containerConfig.mountsadditionalMounts with hostPath
  • SQL column: Fixed triggertrigger_pattern in troubleshooting query
  • Product changelog: Added entries for v1.2.35 through v1.2.42

New sections

  • Telegram forum topics (integrations/telegram) — message_thread_id tracking and automatic topic routing
  • Task scripts cost guidance (concepts/tasks, features/scheduled-tasks, api/task-scheduling) — API credit awareness, testing guidance, when-not-to-use advice
  • Auth 401 troubleshooting (advanced/troubleshooting) — short-lived vs long-lived OAuth tokens, claude setup-token fix
  • K8s image GC (advanced/troubleshooting) — Rancher Desktop kubelet garbage collection known issue
  • Text-style formatting (features/messaging) — corrected WhatsApp link rendering and Telegram Markdown v1 preservation
  • Security fixes (advanced/container-runtime, advanced/security-model, concepts/security) — stopContainer name validation, mount path colon rejection, isMain preservation, allowlist caching behavior
  • Configuration: Added MAX_MESSAGES_PER_PROMPT and LOG_LEVEL environment variables
  • Skills: Added /init-onecli (operational) and /add-emacs (upstream)

Closed as invalid

  • #150: Fabricated runtime-based credential routing — no such feature exists in upstream
  • #149: Wrong context_mode default (group instead of actual isolated)
  • #134: Promoted skill-only OLLAMA_ADMIN_TOOLS env var to core config
Automated PR triage: v1.2.24–v1.2.34 sync
NewUpdatedFixed
2026-03-26
Reviewed and triaged 43 automated Mintlify PRs (#86–#128). Merged 8, closed 30 (superseded or inaccurate), kept 5 pending v1.2.35 release. Validated all changes against upstream source code at v1.2.34.

New sections

  • Task scripts (concepts/tasks, features/scheduled-tasks, api/task-scheduling) — pre-execution bash scripts with wakeAgent JSON contract, ScriptResult type, execution flow
  • Per-group trigger patterns (features/messaging, concepts/groups, api/configuration) — custom trigger words per group instead of global @{ASSISTANT_NAME}
  • CLAUDE.md template system (concepts/groups, api/group-management) — automatic template copy during registration with isMain-based selection
  • Channel-formatting skill (features/messaging, api/message-routing, integrations/slack, integrations/skills-system) — per-channel text transformation table
  • WhatsApp pairing code auth (integrations/whatsapp) — tabbed QR code vs pairing code with phone number formatting rules
  • loginctl linger (installation, quickstart, advanced/troubleshooting) — systemd user service persistence after SSH logout
  • Mount-allowlist preservation (quickstart, advanced/troubleshooting) — /setup skips overwrite of existing config

Updated

  • Container base image: Fixed node:24-slimnode:22-slim across 6 pages (v1.2.22 changelog never upgraded to Node 24)
  • Timezone configuration: Added resolveConfigTimezone() with IANA validation and UTC fallback across 4 pages
  • Token count: Updated from ~39.8k to ~41.3k in introduction and skills system pages
  • Agent-runner cache: Documented mtime-based refresh instead of one-time copy
  • Customization: Removed phantom MAIN_GROUP_FOLDER constant
  • Product changelog: Added entries for v1.2.24 through v1.2.34

Closed as invalid

  • #125: Fabricated upstream PR #1346 as “stdin secrets / remove OneCLI” — actual PR is macOS menu bar status indicator
  • #119: Destructively removed credential proxy legacy tabs that are intentionally maintained
  • #88: Incorrectly documented sender as IPC send_message parameter (it’s a NewMessage field)
  • #89: Falsely claimed Telegram is a core channel on main (it lives in nanoclaw-telegram fork)
v1.2.23 source sync and credential proxy skill
UpdatedFixed
2026-03-24
Merged 3 automated PRs syncing docs with v1.2.23 upstream changes (#82, #84, #85). Closed #83 (would have removed legacy credential proxy tabs).

Updated

  • Legacy credential proxy tabs: Updated to reference /use-native-credential-proxy skill instead of deleted src/credential-proxy.ts file path
  • Skills system: Added /use-native-credential-proxy to upstream skills list
  • Architecture: Fixed startup sequence order (OneCLI agent sync before Remote Control restore), enriched database schema descriptions
  • IPC system: Documented in-container poll interval (500ms), removed undocumented sender field
  • Containers: Fixed .env shadow mount to note conditional existence check, clarified container stop timeout cascade
  • Configuration and installation: Added onecli --help references
  • Introduction and skills system: Updated token count from ~41k to ~39.8k
  • Product changelog: Updated v1.2.23 entry with credential proxy skill and dead code cleanup
OneCLI Agent Vault documentation
NewUpdated
2026-03-24
Added tabbed documentation for OneCLI Agent Vault secret injection (v1.2.22+) alongside legacy credential proxy across 9 pages. Added OneCLI as installation prerequisite.

Pages updated

  • Security overview and deep dive: Credential handling sections now use tabs for OneCLI Agent Vault vs Credential Proxy (legacy)
  • Configuration: Environment variables, example .env, and security notes updated with tabs
  • Container runtime: Container arguments code and key flags documented for both methods
  • Architecture: Startup sequence and container image updated
  • Installation: OneCLI added as prerequisite #5, @onecli-sh/sdk dependency
  • Containers, Ollama, Skills examples: Passing references updated to version-neutral language
  • Customization: Mount allowlist format updated (allowedPathsallowedRoots with per-root read/write control)
  • Product changelog: Added v1.2.22 release entry and v1.2.0 scheduled task fix
Upstream docs audit and platform fixes
UpdatedFixed
2026-03-24
Audited documentation in the upstream NanoClaw repo against the docs portal and submitted fixes via nanocoai/nanoclaw#1388.

Updated

  • Installation, introduction, creating-skills: Added Windows (WSL2) to all platform references — NanoClaw supports macOS, Linux, and Windows via WSL2
  • Introduction: Fixed token count from 34.9k to ~41k (matches auto-generated repo-tokens/badge.svg)
  • CLAUDE.md: Added guidance for automated PR triage, changelogs, upstream PR workflow, and token count source of truth

Upstream PR (#1388)

  • Added docs.nanoclaw.dev link to README header
  • Populated CHANGELOG.md with all releases from v1.1.0 through v1.2.21
  • Updated docs/REQUIREMENTS.md — multi-channel support, current RFS, WSL2 deployment
  • Updated docs/SECURITY.md — channel-neutral language
  • Updated docs/DEBUG_CHECKLIST.md — Docker (default) commands, channel-neutral
  • Added docs/README.md — index pointing to docs portal as authoritative source
PR consolidation and issue cleanup
NewUpdatedFixed
2026-03-23
Reviewed, triaged, and consolidated 10 automated Mintlify PRs (#60–#69). Verified all changes against NanoClaw source code, excluded 6 incorrect changes, and resolved the final 2 open issues.

New pages

  • Claw CLI (features/cli) — documents the /claw Python CLI for running agents from the command line (#64)

New sections

  • Apple Container vs Docker (advanced/container-runtime) — when to use each runtime, key differences table, switching instructions (closes #50)
  • Container internals (concepts/containers) — allowed tools table, conversation archival, global memory injection, additional directory auto-discovery
  • Slack message formatting (integrations/slack) — mrkdwn syntax differences and /slack-formatting skill
  • 200-message history cap (features/messaging) — documents the default query limit on message retrieval (closes #49)
  • Opt-in diagnostics (concepts/security, quickstart) — PostHog telemetry, consent flow, permanent opt-out (#68)

Updated pages

  • Skill system — updated from 3 to 4 skill types (feature, utility, operational, container) across 6 pages
  • Skills documentation — added utility skill structure, creation steps, and /claw as example
  • Architecture — fixed database table names (scheduled_tasks, task_run_logs), isScheduledTask flag, stdin description, startup sequence expansion
  • Message routing — added syncGroups to Channel interface
  • Configuration — fixed DATA_DIR description (runtime data, not legacy)
  • Skills system — added missing skills (/get-qodo-rules, /qodo-pr-resolver, /x-integration, /add-compact, /add-parallel, /slack-formatting)
  • Contributing — removed /clear from RFS (exists as /add-compact), updated to 4 skill types
  • SEO descriptions — improved frontmatter across 10 pages for better search discoverability

Fixed

  • 13-page factual error sweep against source code (#67) — credential proxy terminology, IPC operations, container mount behavior, removed phantom MCP tool
  • Consolidated overlapping fixes from 6 PRs into 2 clean PRs (#70, #71), closing 7 automated PRs as superseded
  • Excluded incorrect automated changes: Channel Factory rename, fabricated commit reference, speculative formatting table, unverified frontmatter claims

Housekeeping

  • Product changelog: added v1.2.20 (ESLint) and v1.2.21 (diagnostics) entries, fixed version ordering
  • Resolved all open issues — 0 issues remaining
  • Token count updated from “under 35k” to “~41k”
Content gap sweep — 13 issues resolved
NewUpdated
2026-03-20
Ran a full docs-gap analysis against the upstream codebase and resolved 13 of 15 content-gap issues. Two low-priority items remain open (#49, #50).

New pages

  • Ollama integration (integrations/ollama) — MCP server architecture, local model setup, third-party endpoints
  • Voice transcription (features/voice-transcription) — Whisper API (cloud) and whisper.cpp (local) with comparison table
  • Image vision (features/image-vision) — Multimodal image understanding for WhatsApp
  • PDF reader (features/pdf-reader) — Text extraction via poppler-utils
  • X (Twitter) integration (integrations/x-twitter) — Host+agent architecture, OAuth setup
  • Parallel AI (integrations/parallel-ai) — Web research MCP servers (quick search + deep research)

Updated pages

  • Skills system — Documented channel fork architecture (5 fork repos), updated merge workflows, separated upstream vs fork skills
  • Installation — Added Windows (WSL) support across all sections: prerequisites, Docker Desktop WSL 2 backend, troubleshooting
  • Security — Documented sender allowlist: trigger/drop modes, per-chat overrides, file format
  • Messaging — Added /compact session command and authorization rules
  • Telegram — Expanded agent swarm section with installation and per-bot config
  • WhatsApp — Added skills summary table and emoji reactions section
  • API reference — Fixed formatMessages signature (added timezone param and <context> header)
  • Configuration — Added OLLAMA_HOST, expanded ANTHROPIC_BASE_URL and SENDER_ALLOWLIST_PATH docs

Housekeeping

  • Deleted 6 stale mintlify/* branches
  • Created tracking issues for 3 remaining low-priority gaps (#49, #50)
Source code accuracy audit
Fixed
2026-03-19
Corrected 30+ inaccuracies across 12 documentation pages by auditing against the NanoClaw source code.
  • Fixed credential proxy documentation — removed incorrect claims about hot-swapping and auto-refresh
  • Corrected container runtime detection, base image references, and stdin secrets pattern
  • Updated task scheduling docs with correct table names and interfaces
  • Added missing .env shadow mount and CREDENTIAL_PROXY_HOST documentation
  • Fixed syncGroupMetadatasyncGroups across IPC docs
Logging and container docs
Updated
2026-03-19
  • Updated error log examples to show prompt redaction — input metadata only, no full prompt content
  • Added log privacy section to security docs
  • Corrected docker stop grace period from 15s to 1 second across all references
Source sync and remote control
Updated
2026-03-19
  • Fixed remote-control commands documentation
  • Deduplicated IPC docs
  • Added update_task to auth tables in API reference
Rendering fixes
Fixed
2026-03-18
Fixed rendering issues and remaining WhatsApp-as-default framing reported in issues #14–#18.
v1.2.17 source sync
NewUpdated
2026-03-18
  • Documented /capabilities and /status container-agent skills as new pages
  • Synced docs with source code v1.2.17 — corrected mount allowlist format, interval drift handling, credential proxy behavior, and IPC config
  • Documented IPC task snapshot refresh and update_task operation
Credential proxy and task lifecycle
Fixed
2026-03-16
Fixed stale documentation for credential proxy, database path, mount allowlist, and task lifecycle to match current source code.
Automation workflows
New
2026-03-16
  • Added Mintlify workflow to sync docs automatically on upstream code changes
  • Added weekly docs audit and skill branch documentation workflows
Portal branding and UX
Updated
2026-03-16
  • Applied NanoClaw branding with custom theme colors, fonts, and SEO metadata
  • Switched theme from Aspen to Mint for better sidebar typography
  • Cleaned up introduction page, footer, and removed callout CSS override
Portal launch
New
2026-03-15
Launched docs.nanoclaw.dev — the NanoClaw documentation site built with Mintlify.
  • Audited all content against v1.2.14 codebase
  • Added Remote Control and Docker Sandboxes pages
  • Made quickstart channel-agnostic (removed WhatsApp-as-default bias)
  • Updated skills documentation to reflect git-branch architecture
  • Fixed navigation structure with logical page ordering
  • Added Mintlify skill for consistent docs development
Last modified on June 16, 2026