NanoClaw

NanoClaw adds Telegram while rebuilding channel startup seams

NanoClaw proposes a Telegram adapter alongside a registry hook that hot-starts channels added after boot and a permission interceptor for registration cards. The cluster treats channels as runtime modules rather than one-time startup configuration.

← Back to homeOriginal source ↗

nanocoai/nanoclaw PR #3269 is the inspected primary source: “feat(channels): add Telegram channel integration.” The related records below were inspected as supporting context rather than independent confirmation.

The facts

- nanocoai/nanoclaw PR #3269 was created 2026-08-15T23:46:39Z and was open at inspection; its title is “feat(channels): add Telegram channel integration.” - nanocoai/nanoclaw PR #3263 was created 2026-08-15T21:19:58Z and was open at inspection; its title is “Channel registry: hot-start a registered adapter after boot (A1).” - nanocoai/nanoclaw PR #3266 was created 2026-08-15T21:20:13Z and was open at inspection; its title is “Permissions: registerChannelCardInterceptor seam before registration cards (A4).” - The repository reported 30512 stars, 898 open issues, default branch main, and last push 2026-08-15T22:25:26Z. - The latest tagged-release baseline checked was v2.2.0 published 2026-08-13T20:43:27Z.

What changed

nanocoai/nanoclaw PR #3269 reports: Summary Adds the Telegram channel adapter (@chat-adapter/telegram), pairing flow, and Markdown sanitizer Wires the self-registration import in src/channels/index.ts Test plan [x] pnpm test — 1483 tests pass [x] pnpm run build — clean TypeScript build [x] Verified end-to-end: bot connects, /init-first-agent wires a DM agent, welcome message delivered and received in Telegram Generated with Claude Code https://claude.ai/code/session_01F5xaka7Zbj5qyUGRuUHsjf

nanocoai/nanoclaw PR #3263 reports: Adds startChannelAdapter(key) to the channel registry: it captures the host's setup function from initChannelAdapters and replays the same four boot steps (factory, setup config, setup with network-error retry, activation) for a single registry entry. This lets a newly registered adapter instance come online without restarting the host — e.g. after credentials for a new instance are provisioned at runtime. Returns 'started' | 'already-active' | 'no-credentials' and mirrors the boot path's retry and duplicate-key handling exactly. Part 5/8 of a stacked series of independent trunk improvements; stacked for conflict-free review — each PR stands alone semantically. Generated with Claude Code

nanocoai/nanoclaw PR #3266 reports: Adds a generic interception seam to the channel-registration approval flow: a module can register one interceptor per channel type that is consulted before a registration card is built. Returning 'handled' means the module consumed the escalation (auto-wired, declined, or deliberately ignored it); 'card' proceeds with the existing card flow. The seam is keyed by channel_type only and runs after the in-flight dedupe but before approver resolution, so an auto-wire needs no reachable approver; interceptor errors fall back to the card so a broken module can never make escalations silently vanish. Part 8/8 of a stacked series of independent trunk improvements; stacked for conflict-free review — each PR stands alone semantically. Generated with Claude Code

Why it matters

A new adapter is only operationally real if it can join a running host, inherit permission policy and expose its delivery state without a restart ritual. The operator test is whether the system remains bounded and its receipts still describe the action after failure, retry or restart.

Current

The primary record was open when captured on 2026-08-16. The tagged-release baseline was v2.2.0 published 2026-08-13T20:43:27Z. Repository metadata, full source bodies, current pull requests and issues, releases, Google News, Hacker News, Lobsters, Metamesh and the rendered ClawCharts row were inspected. ClawCharts selected the subject; it did not prove the claim.

Evidence

The primary URL is https://github.com/nanocoai/nanoclaw/pull/3269. Supporting records are https://github.com/nanocoai/nanoclaw/pull/3263 and https://github.com/nanocoai/nanoclaw/pull/3266. Source bodies, timestamps and states are preserved in the daily evidence bundle. Test counts and reproductions remain attributed to their authors unless 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. Search residue, package mirrors and historically published source spines were excluded.

Operator take

Require every adapter to declare hot-start, registration and delivery capabilities, then test late registration and permission denial before accepting inbound traffic. Preserve a before-state receipt, make the smallest reversible change, and verify the original failure independently.

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.