NanoClaw is a lightweight open-source personal AI agent running on your own machine. It connects to messaging apps like WhatsApp and Telegram, executes AI tasks in isolated containers, and features just 15 source files for complete auditability. Designed for privacy-conscious users who want full control over their AI assistant.




NanoClaw addresses a fundamental technical pain point in the modern AI landscape: the overwhelming complexity of enterprise-grade agent frameworks. While powerful, frameworks like OpenClaw—with its 434,453 lines of code across thousands of files and 70+ dependencies—are effectively black boxes for individual developers and privacy-conscious users. They are difficult to audit, understand, and customize, creating a trust deficit for personal use cases.
NanoClaw is a minimalist, open-source personal AI agent designed from the ground up for transparency and user sovereignty. It is built on a radically simplified architecture: a single Node.js process comprising just 15 source files and approximately 3,900 lines of code. This is less than 1% the size of OpenClaw's codebase. Its core philosophy is to provide a fully auditable, comprehensible, and customizable AI assistant that runs on your own hardware.
Technically, NanoClaw leverages the Claude Agent SDK for its core AI capabilities but replaces application-level permission checks with real OS-level container isolation. Each agent session executes within an ephemeral Linux container (or Apple Container on macOS), providing true process, filesystem, and IPC namespace isolation. This architectural choice eliminates the need for complex microservices or message brokers, resulting in a dependency count of less than 10.
The project has gained significant traction in the developer community, evidenced by 25.3k+ GitHub Stars and 8.5k+ Forks, and has been featured in technical publications like VentureBeat, Fortune, and The New Stack. It is positioned not as a team collaboration platform but as a personal tool for developers, tech enthusiasts, and privacy-focused individuals who demand complete control over their AI interactions.
/setup skill.NanoClaw's power lies in its deliberate technical choices, which prioritize security, simplicity, and extensibility over monolithic feature bloat.
Container Isolation Architecture
The primary security boundary is a real container. On each invocation, a fresh, ephemeral container is spun up with the --rm flag. The container process runs as a non-privileged user (UID 1000), with strict filesystem isolation: only explicitly mounted directories from a user-managed allowlist are visible. This provides guaranteed isolation that application-level sandboxes cannot match.
Security Boundary & Mount Allowlist
A critical security component is the mount allowlist, stored at ~/.config/nanoclaw/mount-allowlist.json. This file, which is never mounted into the container, defines which host directories an agent can access. By default, sensitive paths like .ssh, .aws, .kube, .docker, and files containing credentials or .env are blocked. The system performs symbolic link resolution to prevent path traversal attacks and validates all container paths before mounting.
Credential Proxy System
API keys and other secrets never enter the container environment. Instead, the host runs a lightweight HTTP credential proxy that transparently injects authentication headers (like x-api-key) into outgoing requests from the container. The agent inside the container only sees placeholder keys, ensuring that even a compromised agent cannot exfiltrate real credentials.
Group Isolation Mechanism NanoClaw implements a multi-tenant architecture for personal use. Each chat group (e.g., family, work project) gets an isolated environment:
CLAUDE.md file and Claude session stored in data/sessions/{group}/.claude/.Agent Swarms Implementation
NanoClaw is the first personal AI agent to support Agent Swarms. Using the /add-parallel skill, users can spawn multiple specialized agents to collaborate on complex tasks, enabling parallel analysis and division of labor previously seen only in enterprise frameworks.
Skill System Architecture To avoid codebase inflation, functionality is added via a git-based skill system. Skills are maintained as separate git branches (categorized as Feature, Utility, Operational, or Container skills). Users merge desired skills into their fork. This keeps the core lean while enabling endless customization, such as adding Telegram support or a PDF reader.
NanoClaw excels in specific technical scenarios where its architecture provides distinct advantages over cloud-based or monolithic alternatives.
Privacy-Sensitive Task Processing For developers handling proprietary code, financial data, or personal information, sending data to a cloud AI API is a non-starter. NanoClaw's local execution combined with container isolation provides a dual guarantee: AI capabilities are applied locally, and the agent is confined to a sandbox. This is ideal for tasks like analyzing private logs, refactoring internal codebases, or summarizing confidential documents.
Fully Auditable AI Operations In regulated industries or for security researchers, understanding exactly what an AI system is doing is paramount. NanoClaw's entire codebase can be read and understood in under 8 minutes. This transparency allows for rigorous security audits, compliance verification, and the elimination of unexpected behaviors that plague larger, opaque frameworks.
Scheduled Automation with Cron-like Precision The built-in scheduler supports three trigger types: cron expressions, millisecond intervals, and one-time execution. It uses an atomic declaration mechanism to prevent duplicate execution of the same job. A practical example is automating a daily 9 AM digest of specific RSS feeds or GitHub notifications, with the AI summarizing and sending results back to a designated chat group.
Multi-Group Collaboration with Hard Isolation A developer can use a single NanoClaw instance for both a family group and an open-source project group. The family group's memory, file access, and AI conversations are completely isolated from the project group's. This allows for resource sharing while maintaining strict context and data separation, mimicking secure multi-tenancy on a personal scale.
Custom Extension via Natural Language The AI-native design extends to customization. Instead of writing code, users describe a need to Claude Code (e.g., "add a skill to fetch my calendar events"). Claude Code can directly modify the NanoClaw codebase to implement the feature. This dramatically lowers the barrier to creating a truly personalized AI assistant.
Multi-Channel Messaging Integration
The channel system is self-registering and modular. Starting with WhatsApp Web support, adding Telegram involves running the /add-telegram skill. Channels operate in parallel, allowing the AI assistant to be available simultaneously on WhatsApp for quick queries and Slack for team coordination, with context maintained per group across channels.
NanoClaw is ideally suited for technically proficient individuals and developers who prioritize data privacy, require complete control and auditability of their AI tools, and are willing to manage a local runtime. It is less suitable for non-technical users seeking a purely cloud-based, point-and-click SaaS solution.
NanoClaw's architecture is defined by its conscious choice of a simple, modern tech stack and its position within a broader ecosystem of AI tools and runtimes.
Core Technology Stack
@anthropic-ai/claude-agent-sdk (v0.2.29) for core AI interaction.better-sqlite3 for lightweight, persistent message and state storage.Third-Party Model & Service Integration While optimized for Claude, the architecture supports alternative AI backends. Users can configure endpoints for Ollama (local LLMs), Together AI, Fireworks, and other providers compatible with the Claude Agent SDK's interface, offering flexibility in model choice and cost management.
Community & Development Ecosystem The project is maintained by a core team led by @gavrielc and supported by an active community of 57 contributors with over 424 commits. Development is facilitated through:
SPEC.md (architecture) and SECURITY.md (security model).Architectural Comparison: NanoClaw vs. OpenClaw
| Metric | NanoClaw | OpenClaw (Representative Large Framework) |
|---|---|---|
| Source Files | 15 | Thousands |
| Lines of Code | ~3,900 | ~434,453 |
| Production Dependencies | < 10 | 70+ |
| Configuration Files | 0 (AI-native setup) | 53+ |
| Runtime Code Tokens | ~42.4k (21% of context window) | Millions (un-auditable) |
| Core Architecture | Single Node.js process, real containers | Microservices, message brokers, app-level sandboxing |
| Primary Goal | Personal auditability & control | Enterprise-scale team collaboration |
This comparison highlights NanoClaw's fundamental design divergence: it trades horizontal scalability for vertical simplicity and user trust.
Getting started with NanoClaw involves a streamlined, AI-guided process that minimizes manual configuration.
System Requirements
claude.ai/product/claude-code).Installation & AI-Native Setup
git clone https://github.com/qwibitai/nanoclaw.git && cd nanoclaw/setup. This interactive skill will:
Minimal Viable Test Once setup completes, the agent is typically connected to WhatsApp. Simply send a message to the AI's number from your phone. You should receive an intelligent response, confirming the stack is operational.
Environment Configuration & Best Practices
~/.config/nanoclaw/mount-allowlist.json cautiously. Start with a single, non-critical project directory./add-telegram or browse the skill branches in the repository.docker ps or ps aux | grep node to monitor container and process health.Begin your journey in the Main Group, which has elevated trust. Test basic commands and file access here first. Only after verifying behavior should you create new groups for specific purposes (work, family). Regularly back up your data/ directory and your mount allowlist file.
The difference is foundational. OpenClaw is an enterprise framework built on a microservices architecture with complex inter-service communication (often via message brokers) and relies on application-level permission checks within a shared OS environment. NanoClaw is a single-process application that delegates security to the OS kernel via containerization. It uses real Linux namespaces (pid, net, ipc, mnt) for isolation, which is more robust and simpler than re-implementing security boundaries in user space. NanoClaw has ~3,900 LOC; OpenClaw has over 434k.
Isolation is enforced at multiple levels: 1) Filesystem Namespace: The container gets its own root filesystem. Host directories are invisible unless explicitly mounted. 2) Mount Allowlist: The host maintains a strict allowlist (mount-allowlist.json) that is never passed to the container. 3) Path Blocking: Default rules block paths containing .ssh, .aws, credentials, etc. 4) Symbolic Link Resolution: The system resolves symlinks before allowing a mount, preventing traversal attacks like ../../../etc/passwd. An agent cannot read or write anything outside its allowed mounts.
The host runs a local HTTP proxy server. When the containerized agent makes an HTTP request to an API (e.g., api.anthropic.com), the request is routed through this proxy. The proxy intercepts the request, strips any placeholder authentication headers from the container, and injects the real API key stored securely on the host. The request then proceeds to the internet. The real key never enters the container's memory, filesystem, or environment variables. Even if the agent is malicious, it cannot access the genuine credential.
NanoClaw uses a channel-agnostic internal message format. Integration with external platforms is handled by channel-specific "provider" skills. Officially supported providers use:
whatsapp-web.js library, leveraging the WhatsApp Web protocol.Skills are developed as git branches following a naming convention (skill/name). A skill contains its implementation code and a manifest. To use a skill, a user merges that branch into their fork of NanoClaw. To develop a custom skill:
main.src/skills/).Isolation is implemented per group via:
data/sessions/{group_id}/ subdirectory containing its SQLite database and Claude session state.The scheduler is designed for personal automation, not high-volume enterprise workloads. It polls for due tasks every 60 seconds. Performance is bound by:
Auditability is quantified:
SPEC.md document explains the entire data flow, IPC, and security model.src/core/loop.ts) is straightforward, orchestrating messages, skills, and containers without deep abstraction layers.
This allows for genuine security reviews and deep understanding of all system behaviors.NanoClaw is a lightweight open-source personal AI agent running on your own machine. It connects to messaging apps like WhatsApp and Telegram, executes AI tasks in isolated containers, and features just 15 source files for complete auditability. Designed for privacy-conscious users who want full control over their AI assistant.
AIpowered SVG generation and editing platform
AllinOne AI video generation platform
AI dating photos that actually get you matches
1000+ curated no-code templates in one place
One app. Your entire coaching business
Compare the top AI agent frameworks including LangGraph, CrewAI, AutoGen, OpenAI Agents SDK, and LlamaIndex. Find the best framework for building multi-agent AI systems.
Cursor vs Windsurf vs GitHub Copilot — we compare features, pricing, AI models, and real-world performance to help you pick the best AI code editor in 2026.