NanoClaw

NanoClaw drafts SMS and voice calls as a first-class channel

Two NanoClaw proposals add Dial SMS and AI voice calls through the same adapter and setup-skill model used by existing channels, including allowlists, group routing, reply buffering and outbound tools. A context-template repair shows why new channels also need deterministic prompt assembly.

← Back to homeOriginal source ↗

nanocoai/nanoclaw PR #3041 is the inspected primary source: “feat(channels): add Dial channel adapter (SMS + AI voice calls).” The two related records below were inspected as supporting context, not treated as independent confirmation.

The facts

- nanocoai/nanoclaw PR #3041 was created 2026-07-14T09:43:36Z and was open at inspection; its title is “feat(channels): add Dial channel adapter (SMS + AI voice calls).” - nanocoai/nanoclaw PR #3050 was created 2026-07-14T17:26:43Z and was open at inspection; its title is “feat(setup): add Dial to the channel picker + wizard/skills (runChannelSkill model).” - nanocoai/nanoclaw PR #3090 was created 2026-07-19T20:52:11Z and was open at inspection; its title is “fix(templates): prepend all top-level context Markdown.” - The repository reported 30410 stars, 864 open issues, default branch main, and last push 2026-08-02T14:13:24Z. - The latest tagged-release baseline checked was v2.1.54 published 2026-08-01T20:46:31Z.

What changed

nanocoai/nanoclaw PR #3041 reports: Type of Change [x] **Feature skill** - adds a channel or integration (source code changes + SKILL.md) [ ] **Utility skill** - adds a standalone tool (code files in.claude/skills/ /, no source changes) [ ] **Operational/container skill** - adds a workflow or agent skill (SKILL.md only, no source changes) [ ] **Fix** - bug fix or security fix to source code [ ] **Simplification** - reduces or simplifies source code [ ] **Documentation** - docs, README, or CONTRIBUTING changes only Description Adds the **Dial** ([getdial.ai]) channel adapter — a real phone number for **SMS + AI voice calls**. Native adapter (no Chat SDK bridge): **Outbound** via @getdial/sdk DialClient.sendMessage. **Inbound** via Dial's CLI command-target daemon

nanocoai/nanoclaw PR #3050 reports: Type of Change [x] **Feature skill** - adds a channel or integration (source code changes + SKILL.md) [ ] **Utility skill** - adds a standalone tool (code files in.claude/skills/ /, no source changes) [ ] **Operational/container skill** - adds a workflow or agent skill (SKILL.md only, no source changes) [ ] **Fix** - bug fix or security fix to source code [ ] **Simplification** - reduces or simplifies source code [ ] **Documentation** - docs, README, or CONTRIBUTING changes only Description Adds **Dial** ([getdial.ai]) — a real phone number for SMS + AI voice calls — as a channel in setup:auto, built on the new runChannelSkill / nc: directive model. **setup/auto.ts** — Dial in

nanocoai/nanoclaw PR #3090 reports: Type of Change [ ] **Feature skill** - adds a channel or integration (source code changes + SKILL.md) [ ] **Utility skill** - adds a standalone tool (code files in.claude/skills/ /, no source changes) [ ] **Operational/container skill** - adds a workflow or agent skill (SKILL.md only, no source changes) [x] **Fix** - bug fix or security fix to source code [ ] **Simplification** - reduces or simplifies source code [ ] **Documentation** - docs, README, or CONTRIBUTING changes only Description What Template stamping now treats every Markdown file directly under context/ as standing instructions: context/instructions.md becomes instructions.prepend.md and is composed first. Other immediate context/*.md files become.prepend.md and are composed in deterministic alphabetical

Why it matters

Voice and SMS are not merely another transport checkbox. They add paid external actions, phone-number identity, inbound verification, buffering and delivery constraints to a product whose setup system can write channel-specific code into the host. The operational test is whether persisted state, execution authority and visible user outcome describe the same event. Broad retries, hidden suppression or permission expansion can hide the symptom while making the boundary less trustworthy.

Current

The primary record was open when captured on 2026-08-03. The release baseline was v2.1.54 published 2026-08-01T20:46:31Z. Current repository metadata, pull requests, issues, release records, Google News discovery, Hacker News discovery, Lobsters, Metamesh and the rendered ClawCharts HTML row were checked. ClawCharts selected the subject; it did not prove the claim.

Evidence

The primary URL is https://github.com/nanocoai/nanoclaw/pull/3041. Supporting records are https://github.com/nanocoai/nanoclaw/pull/3050 and https://github.com/nanocoai/nanoclaw/pull/3090. Their source bodies, timestamps and states were captured in the daily evidence bundle. Test counts, reproductions and deployment observations remain attributed to their authors unless explicitly identified as independently rerun.

Source boundary

Open work is described as open, closed work as closed, and operator reports as reports. A pull request is evidence of proposed or reviewed direction, not proof of a shipped release. Issue closure would not by itself prove a deployed fix. Search residue, package mirrors and historically published source spines were excluded.

Operator take

Require explicit cost and send boundaries, verify inbound signatures, scope number allowlists, and test generated setup changes plus top-level context ordering before promotion. Preserve a before-state receipt, make the smallest reversible change, and verify the original failure independently after intervention.

Caveat

Public project records are mutable. Status, scope and evidence can change after publication. This brief records the inspected state and does not authorize changes to a reader’s deployment.

Source inspected; source state, environment and release boundary remain explicit.