Skip to main content
Updated
2026-08-02
Drift sweep for the v2.1.54 release (upstream 4446b5bd, channels c6cdc212).
  • channels/imessage — rewritten for the unified channel (nanoclaw#3164): local (chat.db + Full Disk Access) and hosted (native spectrum-ts line via photon.codes) backends, the Photon device-login wizard with its manual dashboard opt-in, the first-text requirement, hosted media handling, the deterministic backend-resolution ladder, and a full PHOTON_* configuration table. The removed remote mode, IMESSAGE_LOCAL/IMESSAGE_SERVER_URL/IMESSAGE_API_KEY, and imessage-cloud are flagged as a breaking change. Channels overview and the skills catalog rows now match.
  • Vercel CLI is opt-ininstallation, container lifecycle, and the skills catalog no longer list vercel among the image’s baked-in CLIs; the vercel-cli container skill moved out of the base image and ships with /add-vercel.
  • Hardened-image fetch time — the quickstart and the Echo hardened runtime guide no longer say the fetch takes around 20 minutes; it’s now a few minutes, matching the installer’s wording.
  • reference/environment-variables — the failure-assist row notes that a non-Claude install dispatches assist to its picked provider first (nanoclaw#3170).
Product changelog gained the v2.1.54 entry. All edited pages restamped at 4446b5bd; channel anchors at c6cdc212.
Updated
2026-07-29
Second pass from the same-day drift sweep — pages that weren’t wrong but didn’t yet mention the hardened image where readers would look for it. Hardening gained the provenance-label scheme (dev.nanoclaw.image-source: local / hardened / derived, plus the agent-runner lock label) and the two new default-blocked mount patterns. Credentials documents the registry sign-in as its own credential class: device-code flow, ~/.config/nanoclaw/account.json, and the docker credential helper that mints a short-lived password per pull. Configuration and the guide-adjacent pages picked up the three image-source variables, Installation the registry / registry-reconcile steps and the pull path, Container lifecycle the pull-and-retag alternative, and Providers the pinned-install nuance (Codex overlays onto the pulled image; OpenCode’s lockfile change drops the install to a local build). Container configuration also gained the timezone field from the earlier per-group-timezone feature. Every addition verified against nanocoai/nanoclaw@4e83a0a0; all nine stamps bumped.
UpdatedFixed
2026-07-29
Same-day sweep after the hardened-image feature merged upstream (nanoclaw#3150): every page’s verified-against files were diffed against the merge (4e83a0a0), 30 flagged pages adjudicated, four fixed.
  • quickstart — the wizard’s sandbox step now describes both image paths: the recommended pre-built Echo image (sign-in, then a download that currently takes around 20 minutes) and the 3–10 minute local build. The walkthrough gained the sign-in step it was missing.
  • operate/upgrading — image refresh guidance now branches by install: ./container/build.sh on local builds, pull on pinned installs (the bare form exits 3 there), and the refresh trigger includes the agent-image pin moving in versions.json.
  • guides/scheduled-tasks — task times follow the owning group’s timezone override (ncl groups config update --timezone, applies immediately) before the install default; the restart-required note now applies only to the default.
  • reference/environment-variables — the six new registry and hardened-image variables documented, and seven stale setup/auto.ts / setup/container.ts line citations recomputed (the file grew 253 lines under the feature).
The Echo guide itself got a same-day correction: fetching takes around 20 minutes today, matching the installer’s own wording. Ten more pages carry smaller hardened-image gaps (hardening, credentials, configuration, installation, container-lifecycle, providers, and friends) — queued as a second pass.
New
2026-07-29
Added guides/echo-hardened-runtime: the Echo partnership’s opt-in hardened runtime for agent sandboxes — what it is, the minimal component set it ships, how to enable it during a new install, and what stays the same if you keep the DIY local runtime. Sits in the Operate group next to Hardening.
Updated
2026-07-26
The container pages described a posture that no longer matches trunk. Agent spawns now carry a fixed hardening set that no group or install can override (nanoclaw#2748): --init, so docker-init is PID 1 and SIGTERM actually reaches the runner instead of being discarded — concepts/container-lifecycle had the inverse story, Bun as PID 1 with no --init — plus --cap-drop=ALL, --security-opt no-new-privileges, --shm-size=1g, and a --pids-limit fork-bomb backstop defaulting to 2048. That default lands as a new CONTAINER_PIDS_LIMIT variable on reference/environment-variables and a new always-on section on operate/hardening, alongside restamped src/config.ts line citations.Separately, channels/whatsapp said dedicated-number groups engage only on an explicit @-mention of the bot’s number. A typed @<agent name> or @<bot number> also triggers, as long as the message doesn’t mention-pill anyone else (nanoclaw#3087). Verified against trunk f1e66179 and channels 6ee516ad.
NewUpdated
2026-07-26
Added concepts/agent-memory, the first single-page explanation of NanoClaw’s provider-neutral memory system: the host and container paths, boot scaffold, Core Memory, session-start injection rules, 16,000-character per-file budget, OKF concept format, group sharing boundary, operator workflow, prompt-injection risk, and legacy migration. The page is verified against nanocoai/nanoclaw@f1e66179 and linked from the entity model, isolation, security, customization, providers, self-modification, installation, and quickstart pages.
Updated
2026-07-18
The site’s first screenshot: the quickstart’s “Answer the wizard” step now opens with a real capture of bash nanoclaw.sh — the NanoClaw splash, Standard setup selected, the system check passed, and the sandbox build starting. Captured from an actual run of upstream main (d23db4f3) with VHS, so it can be re-rendered when the wizard’s look changes; nothing sensitive is on screen (the run ends before any credential step).
Updated
2026-07-18
First visuals in the Get started section, from a rich-content survey of those four pages:
  • migrate-from-v1 — a flow diagram ahead of the step-by-step walkthrough, showing the migration’s two-actor shape: migrate-v2.sh does the deterministic phases, handoff.json carries the state, and the /migrate-from-v1 skill finishes the judgment calls before the health check
  • installation — a small diagram of the three-stage installer chain (nanoclaw.shsetup.shsetup:auto) under “What the installer does under the hood”
Both diagrams restate prose that was verified at e926e30e; no claims changed, so verified-against stamps stay put. More from the survey (hero chat screenshot on the introduction, a wizard terminal capture on the quickstart) lands separately.
UpdatedFixed
2026-07-18
Micro-sweep of the delta since v2.1.53: trunk e926e30ed23db4f3 (11 commits, no release), channels branch 9e14cd0c7f24dd31 (one merge).
  • channels/signal — the managed daemon now starts with --send-read-receipts (nanoclaw#3062), so senders see messages marked read once the daemon receives them. New Platform notes bullet, including the caveat that an externally run daemon needs the flag added manually. Channels-branch stamp bumped to 7f24dd31 here and on channels/overview (whole-dir citation; overview’s claims are unaffected). The other channel pages cite files that are byte-identical across the two SHAs, so their stamps stay put per the drift-detection rule
  • reference/environment-variables — 25 of the 35 file:line citations pointed at the wrong lines, and were already wrong at the e926e30e stamp (a src/config.ts restructure predates the sweep; the sweep verified names and defaults but not line numbers). Every citation is now script-verified against source: the cited line must actually mention the variable. Trunk stamp stays at e926e30e — the cited files are identical at d23db4f3 apart from a claude.ts change well below the cited region
  • Checked, no docs impact: compaction no longer surfaces as a synthetic “Context compacted.” result — it logs as activity instead (nanoclaw#3083); no page ever claimed it appeared in chat. Upstream’s CHANGELOG dedup (nanoclaw#3063) touched unreleased entries the portal doesn’t mirror, and nanoclaw#3084 is test-only
UpdatedFixed
2026-07-17
The skills pages said a NanoClaw skill is a workflow “that Claude Code executes in your checkout”. Any agents-convention coding harness runs them, and upstream built that on purpose: nanoclaw#2810 added .agents/skills → ../.claude/skills and AGENTS.md → CLAUDE.md so “an agents-convention harness (e.g. Codex) read the same skills and instructions as the .claude setup”. Both symlinks still resolve at e926e30e, and all three harnesses really do find our skills — Claude Code via .claude/skills, Codex via .agents/skills, OpenCode via all of .opencode/skills, .claude/skills and .agents/skills. Fixed in #355:
  • extend/overview + reference/skills-catalog — “a coding harness (Claude Code, Codex, OpenCode)”, not “Claude Code”. “Harness”, not “agent”, deliberately: NanoClaw already calls the container instance an agent, so reusing the word for the host-side tool meant one term for two layers on the same page (extend/overview describes both). Trunk makes the same split where both appear in one breath — .claude/skills/migrate-memory/SKILL.md:9 reads “The coding harness running this skill - Claude Code, Codex, or another harness - owns the whole migration”, then hands off to “the NanoClaw group”
  • A syntax note on both pages/name is Claude Code’s; Codex invokes the same skill as $add-telegram and does not accept /add-telegram (openai/codex#11817, closed “This is by design”); OpenCode has no typed form and loads skills through its own skill tool. Three invocation models, not two syntaxes. The pages listed 48 /name literals with nothing saying whose syntax that is, so a Codex reader following the catalog hit a rejection with no signpost. The note also says the skill file is the same one in every case, while flagging that a few skills still phrase steps in Claude Code’s tool vocabulary
  • Removed a false claim — the opening sentence said the coding agent reads and performs the skill “or the setup wizard dispatches an /add-<channel> skill for you”. The wizard does not hand the SKILL.md to a harness; it applies the document itself through the directive engine (setup/lib/skill-driver.ts runs applySkill from scripts/skill-apply.ts against the nc: fences, every non-test caller under setup/). Two readers, one document — upstream’s own framing at docs/skills-model.md:39
  • Not fixed here: the invocation syntax the trunk docs themselves use. No literal form is correct on all three harnesses, so trunk needs a convention — filed upstream as nanoclaw#3072. This pass only describes what each harness does today
  • Scope note: this is an agents-convention mirror, not end-to-end harness neutrality. Setup remains Claude-Code-shaped (setup/lib/claude-assist.ts, claude-handoff.ts, install-claude.sh), and 13 of the 48 host skills name Claude Code tools in their steps
  • Method note: the first revision of this PR deleted “as slash commands in Claude Code” while leaving every /name literal in place, which made the pages worse for exactly the reader they were meant to help. Three independent adversarial reviewers caught that, plus a stray “walks Claude through a task” the completeness grep had missed. verified-against SHAs left at e926e30e: narrow prose fix, not a re-verification
UpdatedFixed
2026-07-16
Brought the whole site current with nanocoai/nanoclaw@e926e30e (v2.1.53) — a ~15-release, ~230-commit delta since the v2.1.38 sweep. Every anchored page was re-verified claim-by-claim against source; 43 pages changed across eight PRs (#346–#354). The big upstream themes and what they touched:
  • The memory reworkCLAUDE.local.md is retired. Per-group memory is now the memory/ tree (scaffolded at boot, shared by every provider, carried across provider switches) plus instructions.prepend.md for standing instructions; usesMemoryScaffold is gone from the provider interface. Rewritten across concepts/*, guides/*, extend/providers, extend/self-modification, installation, and migrate-from-v1 (which now documents the staged-CLAUDE.local.md/migrate-memory flow)
  • Scheduled tasks moved to ncl tasks — the six scheduling MCP tools are gone; guides/scheduled-tasks got a ground-up rewrite, reference/mcp-tools lost its Scheduling section, and reference/ncl-cli + operate/ncl-cli gained the tasks resource (including this sweep’s correction: all task verbs are open, not approval-gated)
  • SKILL.md-driven setup — the wizard now dispatches /add-<channel> skills; install prose corrected on the channels pages, extend/overview, and extend/writing-skills (which was still quoting a pre-flight block deleted in the nc: directive-fence rewrite)
  • Per-wiring threads axis (migration 019) on concepts/entity-model, reference/db-schema, the ncl pages, and channels/discord
  • Token badge ~204k → ~226k (now frozen — update-tokens.yml was deleted); container skills 8 → 6; DEFAULT_AGENT_PROVIDER; structured approval cards; host-only add-mount/remove-mount
  • Method note: every area’s pre-verified “no content change, bump only” verdicts were re-checked adversarially before shipping — that re-check found real drift in all four areas it flagged, so it’s now a standing step of the sweep process
UpdatedFixed
2026-07-07
Follow-up sweep after the v2.1.38 pass. Trunk moved only three commits since 08a1ac9 (all in-repo docs — no source changes), and the channels branch is unchanged at 90dd87d, so the site’s claims against trunk and channels still hold. The providers registry branch did move (c570766d2dd91b, codex payload), and two leftover v2.1.4 stamps from the original reference pages were cleared:
  • extend/providers — the codex provider’s AGENTS.md compose now opens with the group’s template persona (instructions.prepend.md, exempt from the 32 KB-cap eviction), template skills are mirrored into .agents/skills as real directories (they’re stamped on the Claude plane, which Codex never reads), and the .agents dir is mounted at both /workspace/agent/.agents and /home/node/.agents — Codex only scans workspace-level .agents/skills inside a git repo, so the $HOME mount is what makes skills discoverable. Providers-branch anchor bumped to d2dd91b
  • reference/environment-variables — all 37 source citations re-checked at b6cb53e: every variable and default still accurate; 10 drifted line numbers corrected and the “line numbers reference v2.1.4” disclaimer updated to v2.1.38
  • reference/container-config — the two “as of v2.1.4” absence claims (no ncl groups config subcommand for skills; add-mcp-server / add_mcp_server don’t accept instructions) re-verified still true at v2.1.38 and restamped; anchor bumped to 08a1ac9
  • concepts/contributingpnpm run dev never had hot reload (tsx src/index.ts, no watch, unchanged since the initial commit); corrected the command comment. Surfaced by cross-checking the in-repo docs overhaul (nanoclaw #2961–#2964) against the portal
  • OneCLI accuracy pass (operator-audited, all 26 OneCLI-mentioning pages): operate/troubleshooting’s “gateway not applied” hint told operators to check 127.0.0.1:10254, but the host dials whatever ONECLI_URL says — on installs where containers reach the gateway, that’s the Docker-bridge IP and nothing listens on localhost; reference/environment-variables listed https://api.onecli.sh as the default for NANOCLAW_ONECLI_API_HOST, but unset means “install a local vault” (setup/auto.ts:238) — the URL is only the advanced-settings form placeholder; operate/credentials now notes that OneCLI’s own docs reserve “gateway” for the separate egress-proxy listener, while these pages use it loosely for the whole vault
  • New: “Accessing the OneCLI dashboard” (operate/credentials) — the tool pages referenced connecting OAuth services “in the OneCLI web UI” without ever saying where that lives. The new section anchors it to ONECLI_URL, covers the two headless-install gotchas (Docker-bridge bind not routable from your browser; OAuth Connect redirects need OneCLI’s APP_URL set to the URL you browse from), and links out to the OneCLI docs; extend/tools now links the section
UpdatedFixed
2026-07-04
Brought the site current with nanocoai/nanoclaw@08a1ac9 (v2.1.38) — a ~15-release delta since the v2.1.23 sweep. A code-grounded pass over the whole site found six pages drifted, traced to two upstream root causes plus two standalone fixes:
  • .env support arrived for vars the docs called process.env-only: config.ts now falls back to .env for CONTAINER_CPU_LIMIT, CONTAINER_MEMORY_LIMIT, and the three egress vars — corrected on reference/environment-variables, operate/configuration, operate/hardening, and operate/troubleshooting. WEBHOOK_PORT is the exception and stays documented as process.env-only.
  • Five env vars removed upstream (the host-sweep loop replaced the old timeout/concurrency machinery): CONTAINER_TIMEOUT, IDLE_TIMEOUT, MAX_CONCURRENT_CONTAINERS, CONTAINER_MAX_OUTPUT_SIZE, MAX_MESSAGES_PER_PROMPT — dropped from reference/environment-variables, operate/configuration, operate/hardening, and guides/multi-agent-swarm.
  • Security correction (operate/hardening): the readOnly key on additional mounts is no longer silently ignored — mount-security honors it, so {readOnly: false} grants read-write. The page said the opposite, understating permissiveness.
  • reference/skills-catalog: 47 → 48 skills (/add-clidash)
  • verified-against anchors bumped to 08a1ac9 on the touched pages
Updated
2026-07-02
Follow-up to the 2026-06-29 rework, aimed at the remaining beginner friction:
  • introduction — plain-language page description (was architecture jargon); new “What can it do?” section with six concrete, code-verified capabilities; the message-flow diagram and design rationale compressed into a short “Under the hood, briefly” paragraph linking to concepts/architecture (which covers it in depth) — the intro no longer duplicates it
  • quickstart — new “Things to try first” section: six copy-paste messages exercising web research, reminders, sandboxed code, inbound attachments, persistent memory, and companion agents, each verified against source (web tools are on the Claude provider’s allowlist; schedule_task routes back to the originating chat; attachments land in the session inbox; CLAUDE.local.md persists per group; the wizard’s first agent has global CLI scope so create_agent needs no approval card). Includes the CLI-channel gotcha: reminders that fire while the terminal is disconnected are saved, not pushed live
  • Placeholder (comment) for a hero chat screenshot on introduction, pending a capture from a live install
Updated
2026-07-02
Brought the site current with nanocoai/nanoclaw@cb6e3d1 (v2.1.23) and channels@90dd87d — a 14-commit trunk delta plus two channels-branch merges since the v2.1.21 sweep.
  • Inbox symlink-containment guard (concepts/security): documented the new shared host-write guard src/inbox-safety.ts under Container isolation — the one place files flow into the sandbox
  • ncl messaging-groups --instance (reference/ncl-cli): new flag row — string, updatable, defaults to the --channel-type value
  • WhatsApp media recovery (channels/whatsapp): failed inbound media downloads retry via WhatsApp’s re-upload path; still-failing media leaves a visible [<type> could not be downloaded] note instead of a silent drop
  • Slack Socket Mode in guided setup: upstream’s setup wizard caught up with what channels/slack already documented — the page verified accurate as-is, no content change
  • Full SHA re-verification: classified every page’s cited files against the trunk and channels diffs, re-verified the dirty set, and bumped verified-against anchors site-wide to cb6e3d1 / 90dd87d; fixed a transposed-digit providers-branch anchor (c576766c570766) on extend/providers. Codebase token count 199k → 204k
Updated
2026-06-29
Reworked the on-ramp to lead with outcome before architecture. introduction now opens with what NanoClaw does for you (text it like a coworker; it runs code in a sandbox) and a “Key terms” callout defining agent / channel / sandbox / provider; the SQLite-queue framing moved into “How a message flows” rather than the lede. quickstart gained a time/effort/prerequisite expectation-setter. No facts changed — resequenced and scaffolded.
Updated
2026-06-29
Documented Slack’s Socket Mode (now the setup default) across channels/slack and channels/overview. Setting SLACK_APP_TOKEN (xapp-…) opens an outbound WebSocket, so the host needs no public URL — alongside the existing webhook mode. Reverses the page’s old “v2 doesn’t use Socket Mode” note and the webhook-only framing.
Updated
2026-06-29
Brought the whole site current with nanocoai/nanoclaw@2afbd182 (v2.1.21) after a drift check found the docs anchored at v2.1.16.
  • Agent-to-agent approval policies (migrations 017/018): documented the per-message gate on connected agents (the new ncl policies resource, the agent_message_policies table), the strict named approver (approver_user_id), and reject-with-reason across guides/multi-agent-swarm, concepts/security, reference/{db-schema,ncl-cli}, operate/ncl-cli, and extend/self-modification.
  • Codex provider v2 (extend/providers): install via the cli-tools.json manifest, vault-only auth, composed AGENTS.md + .agents/skills + per-group ~/.codex. Removed the stale .env / OPENAI_BASE_URL claims.
  • Container resource caps + /learn: CONTAINER_CPU_LIMIT / CONTAINER_MEMORY_LIMIT added to reference/environment-variables, operate/{configuration,hardening}, and concepts/container-lifecycle; the /learn skill added to reference/skills-catalog (46 → 47) and extend/writing-skills.
  • Upgrade flow (operate/upgrading): /update-nanoclaw now upgrades the OneCLI gateway when its versions.json pin moves (reversing the old “never upgraded for you”), and /update-skills rebuilds the container image when re-applied code lives under container/.
  • Provider-aware install (installation, quickstart): the credential prerequisite is now “a credential for the provider you pick,” not Claude-only.
  • Full SHA re-verification: re-verified every cited file’s diff e3986eb..2afbd182 and bumped the verified-against anchor on ~30 pages; bumped the channels registry branch to fdbfb6a and refreshed the channel-adapter pins to 4.29.0 (Chat SDK lock). Codebase token count 195k → 199k.
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
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)
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.
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
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
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
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).
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
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
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
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
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)
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
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
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
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
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
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
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.
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
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)
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
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
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
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”
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)
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
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
Updated
2026-03-19
  • Fixed remote-control commands documentation
  • Deduplicated IPC docs
  • Added update_task to auth tables in API reference
Fixed
2026-03-18
Fixed rendering issues and remaining WhatsApp-as-default framing reported in issues #14–#18.
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
Fixed
2026-03-16
Fixed stale documentation for credential proxy, database path, mount allowlist, and task lifecycle to match current source code.
New
2026-03-16
  • Added Mintlify workflow to sync docs automatically on upstream code changes
  • Added weekly docs audit and skill branch documentation workflows
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
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 August 2, 2026