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.mddocuments — thencladmin 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
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_agentseeds the provider’s own memory surface (CLAUDE.local.mdfor Claude, thememory/scaffold otherwise), matching themulti-agent-swarmfixinstallation.mdx: the wizard does “provider auth”;quickstart.mdx: “AI-assisted recovery” (failure assist can be provider-owned since v2.1.16)
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 fixedmulti-agent-swarm(a spawned agent inherits its creator’s provider; the seed lands in the provider’s own memory surface) andupgrading(the/update-nanoclawbreaking-change check is skill-only now — it no longer diffsversions.jsonpins). Corrected six driftedfile:linecitations onreference/environment-variables. - Re-verified the 19 v2.1.4 main pages: 14 were no-drift; 5 fixed —
installation(newprovider-authsetup step),concepts/contributing(185k → 195k, vitest globs),reference/skills-catalog(added/migrate-memory; 45 → 46 skills),operate/troubleshooting(boot failures now logContainer exited non-zerowith astderrTail),extend/overview(provider installs span three barrels now — host, container, and setup). - Re-verified the 8 channel pages: the
channelsregistry branch is frozen at8137440(adapters unchanged since before v2.1.4), so no content drift — pinned that SHA on each page for precise future adapter-drift detection.
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 upstreamCHANGELOG.mdstill parks everything under[Unreleased]). v2.1.5 was the big one — multi-instance adapters and the interactive uninstaller- Re-verified and bumped
verified-againstSHAs to435233aon 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
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-runand--yesflags, the.envbackup, the Ctrl-C-safe confirm phase, and the manual fallback whennode_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 noNANOCLAW_*env vars for them reference/environment-variables.mdxre-verified (no env var drift in v2.1.15) and its SHA bumped
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 andonecliCLI at theversions.jsonpins (onecli-gateway,onecli-cli), neverlatest; it probes/v1/healthand warns (never auto-upgrades) when the gateway predates the/v1API, pointing to thedocs/onecli-upgrades.mdrunbookoperate/upgrading.mdx: the/update-nanoclawbreaking-changes step now also diffsversions.jsonfor moved component pins and routes each to its migration path — a skill or adocs/page
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 idempotentmemory/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).
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 optionalinstancefield on theChannelAdaptercontract (defaults tochannelType; URL-safe routing key);channelTypeclarified as the semantic platform key; webhook registration now uses aroutingPathand the shared server also accepts rawregisterWebhookHandler()routesreference/db-schema.mdx+concepts/entity-model.mdx:messaging_groupsis now keyed(channel_type, platform_id, instance); documented the newinstancecolumn, migration 016’s backfill (instance = channel_type), and the per-instancechat_sdk_kvkey prefixchannels/overview.mdx+concepts/architecture.mdx: webhook server routes byroutingPathwith raw handlers taking priority; delivery resolves the owning adapter byinstanceso a reply leaves through the adapter the message arrived on
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 againstrepo-tokens/badge.svg)installation.mdxandconcepts/container-lifecycle.mdx: the container’s pinned global CLIs now come from acontainer/cli-tools.jsonmanifest installed byinstall-cli-tools.sh—agent-browseris pinned to an exact version rather than trackinglatest
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 withsrc/as of v2.0.1.quickstart.mdx: one-commandbash nanoclaw.shflow replaces the v1 fork-and-clone + Claude Code +/setupdance. 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 fordata/v2-sessions/,store/v2.db, and the per-sessioninbound.db+outbound.dblayout.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/clawCLI.features/customization.mdx: full v2 rewrite — verified trigger pattern code againstsrc/config.ts, replaced nonexistentPOLL_INTERVAL/SCHEDULER_POLL_INTERVALwith actualACTIVE_POLL_MS/SWEEP_POLL_MSfromsrc/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.mdxintegrations/ollama.mdx(Ollama now lives on theprovidersbranch —/add-ollama-provideror/add-ollama-tool)
Token count sync
integrations/skills-system.mdx: 43.8k → 127kCLAUDE.md: maintenance note updated to reflect the v1.2.53 → v2.0.0 jump
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 acrossconcepts/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/groupsandapi/group-management - Bun-based agent runner: runs TypeScript directly (no compilation), shared source via read-only bind mount,
tinias 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_inrows 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 tagv1-docs-final(full repo snapshot)
Updated
- Token count: Updated from 43.7k to 43.8k in introduction and skills-system pages
- Configuration: Added
ONECLI_API_KEYenv var to OneCLI Agent Vault tab - Container SDK config: Documented
allowDangerouslySkipPermissions: trueflag in containers page - Changelog: Added v1.2.53 product release entry
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-wikito upstream skills listing; added/migrate-nanoclawand/migrate-from-openclawto operational skills - Troubleshooting: Added session artifact auto-pruning section with retention policy table
- Architecture: Documented auto-compact threshold at 165k tokens
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 requiresTriggerparameter: Added toregister_groupMCP 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_namecolumns isMainpreservation: Updated register_group handler snippet in messaging pageCONTAINER_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
quickstart: Added breaking change changelog scan to/update-nanoclawstep listintegrations/skills-system: Added “Breaking change detection” subsection documenting the[BREAKING]entry scan and migration skill prompts
Fixed
concepts/containers: Removed incorrect “15-second exec timeout” claim fromstopContainer— the source usesexecSyncwith no timeout, falling back toSIGKILLon failure
Updated
integrations/skills-system: Added/add-macos-statusbarutility skill to upstream skills listingchangelog/index: Added v1.2.45 release entry with new contributors and skill
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 byOLLAMA_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-hostflag,curl/gitin container image - SDK options: Added
settingSourcesandsenderparameter docs - Reply context: Documented reply/quoted message support —
reply_toattribute,<quoted_message>element, 4 newNewMessagefields, DB migration - Token count: Updated from ~42.4k to ~43.3k (22%)
- v1.2.43 changelog: Added npm audit dependency fixes bullet
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 phantomchannel?: ChannelTypeparam fromformatOutboundsignaturefeatures/scheduled-tasks: Updated TIMEZONE snippet to currentresolveConfigTimezone()with IANA validation and UTC fallbackadvanced/container-runtime: FixedstopContainercode from asyncexec()callback to actual sync try/catch patternapi/configuration: Addedtraceas validLOG_LEVELvalue (used by container runner for verbose output)features/messaging: Corrected stalesrc/session-commands.tsreference tosrc/index.ts, and fixed misleading description of whatindex.tsdoes
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.
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), updatedbetter-sqlite3to11.10.0andcron-parserto5.5.0 - Token count: Updated from ~41.3k to ~42.4k
- Mount property: Fixed
containerConfig.mounts→additionalMountswithhostPath - SQL column: Fixed
trigger→trigger_patternin troubleshooting query - Product changelog: Added entries for v1.2.35 through v1.2.42
New sections
- Telegram forum topics (
integrations/telegram) —message_thread_idtracking 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-tokenfix - 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) —stopContainername validation, mount path colon rejection,isMainpreservation, allowlist caching behavior - Configuration: Added
MAX_MESSAGES_PER_PROMPTandLOG_LEVELenvironment 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_modedefault (groupinstead of actualisolated) - #134: Promoted skill-only
OLLAMA_ADMIN_TOOLSenv var to core config
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 withwakeAgentJSON contract,ScriptResulttype, 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 withisMain-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) —/setupskips overwrite of existing config
Updated
- Container base image: Fixed
node:24-slim→node:22-slimacross 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_FOLDERconstant - 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
senderas IPCsend_messageparameter (it’s aNewMessagefield) - #89: Falsely claimed Telegram is a core channel on main (it lives in
nanoclaw-telegramfork)
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-proxyskill instead of deletedsrc/credential-proxy.tsfile path - Skills system: Added
/use-native-credential-proxyto 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
senderfield - Containers: Fixed
.envshadow mount to note conditional existence check, clarified container stop timeout cascade - Configuration and installation: Added
onecli --helpreferences - 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
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/sdkdependency - Containers, Ollama, Skills examples: Passing references updated to version-neutral language
- Customization: Mount allowlist format updated (
allowedPaths→allowedRootswith per-root read/write control) - Product changelog: Added v1.2.22 release entry and v1.2.0 scheduled task fix
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.devlink 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
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/clawPython 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-formattingskill - 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
/clawas example - Architecture — fixed database table names (
scheduled_tasks,task_run_logs),isScheduledTaskflag, stdin description, startup sequence expansion - Message routing — added
syncGroupsto 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
/clearfrom 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”
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
/compactsession 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
formatMessagessignature (addedtimezoneparam and<context>header) - Configuration — Added
OLLAMA_HOST, expandedANTHROPIC_BASE_URLandSENDER_ALLOWLIST_PATHdocs
Housekeeping
- Deleted 6 stale
mintlify/*branches - Created tracking issues for 3 remaining low-priority gaps (#49, #50)
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
.envshadow mount andCREDENTIAL_PROXY_HOSTdocumentation - Fixed
syncGroupMetadata→syncGroupsacross IPC docs
- Updated error log examples to show prompt redaction — input metadata only, no full prompt content
- Added log privacy section to security docs
- Corrected
docker stopgrace period from 15s to 1 second across all references
- Fixed remote-control commands documentation
- Deduplicated IPC docs
- Added
update_taskto auth tables in API reference
- Added automatic sidebar tag management via Mintlify workflows (
UPDATEDandNEWtags) - Replaced all ASCII directory trees with Mintlify
<Tree>component across the site - Tags auto-clean after 2 weeks via weekly audit workflow
Fixed rendering issues and remaining WhatsApp-as-default framing reported in issues #14–#18.
- Documented
/capabilitiesand/statuscontainer-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_taskoperation
Fixed stale documentation for credential proxy, database path, mount allowlist, and task lifecycle to match current source code.
- Added Mintlify workflow to sync docs automatically on upstream code changes
- Added weekly docs audit and skill branch documentation workflows
- 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
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