Skip to main content
Back to Blog
Published

NanoClaw: The Personal AI Agent Platform You Can Actually Understand — And How to Deploy It on Azure

A look at NanoClaw's minimalist, auditable architecture for running Claude agents, and a step-by-step guide to deploying it on an Azure Ubuntu VM.


Most AI agent platforms are optimized for the demo. That is the wrong optimization target.

If a system is going to read your inbox, write to your calendar, open pull requests, or call internal APIs, I do not care first about the product video. I care whether I can explain its failure modes to a security review, an SRE on call, and the engineer who inherits it six months later.

That is why NanoClaw caught my attention. I was not looking for another agent framework. I was looking for a runtime I could trace end to end without reading half a million lines of code or trusting a pile of hidden state. NanoClaw makes a clear trade: fewer layers, fewer moving parts, less magic, more operational legibility.

I think that trade matters more than most of the market admits. In agent infrastructure, understandability is not a nice-to-have. It is part of the security model.


The Problem With Most Agent Platforms

The mainstream agent stack has a recognizable smell now: too many integrations, too many abstractions, and just enough hidden behavior that the system feels productive right up until you need to debug it. Then the cost of convenience arrives all at once.

That cost is not just engineering inconvenience. It is trust erosion. If you cannot answer simple questions such as where did this message go, which process touched this credential, or what happens after the model decides to call a tool, the platform is asking for more trust than it has earned.

This is where I think the market has been directionally wrong. Many platforms treat security as an application feature. That matters. But when the runtime itself is hard to reason about, application-level controls become a second line of defense covering for a first line that is too opaque. NanoClaw takes the opposite position: keep the runtime small enough that a competent engineer can understand it completely, and reduce the trust surface before policy tooling even enters the conversation.


What NanoClaw Is

NanoClaw is an open-source personal AI agent platform built around Anthropic's Claude Agent SDK. It connects one or more Claude-powered agents to messaging surfaces such as Telegram, WhatsApp, Slack, Discord, GitHub, and Microsoft Teams, while keeping the runtime deliberately small and auditable.

The message path is simple enough to describe in one line:

Messaging appshost routerinbound database
agent containeroutbound database
host delivery processmessaging apps

That simplicity matters. Messages arrive from a channel, get routed to an agent group, are processed inside an isolated container, and flow back out through a visible delivery path. State is persisted in SQLite rather than a queueing and orchestration stack that takes a week to fully map. For this category of system, that is a feature, not a limitation.


The Architectural Decision I Respect Most

The most important design choice in NanoClaw is not the model integration. It is the insistence on explicit boundaries.

  • Agent groups are isolated workspaces. Each group has its own container, filesystem, configuration, and personality.
  • Credential handling is separated from agent execution. Secrets are mediated through OneCLI's vault and request path instead of being dropped into the agent container as ambient environment state.
  • Host responsibilities and agent responsibilities are split. Routing and delivery stay visible on the host side; model-driven work stays inside the container.
  • The persistence layer is legible. SQLite is not glamorous, but it is inspectable, portable, and easy to reason about when you are tracing a failure.

My opinionated take: for personal and small-team agent infrastructure, these choices are often better than the “cloud-native” defaults people reach for automatically. A queue, a workflow engine, and a fleet of services may look more enterprise on a diagram. They do not automatically make the system more trustworthy. In many cases they just make incident review slower.


What This Design Optimizes For

NanoClaw is strong when you care about these things first:

  • Auditability — you can trace a message through the system without reverse-engineering a control plane.
  • Isolation — the agent only sees what the container and mounts explicitly allow.
  • Modifiability — you can fork it, read it, and change it without rewriting your organization around the platform.
  • Operational clarity — when something breaks, you can usually identify which boundary was crossed incorrectly.

It is weaker when you optimize for different goals:

  • Massive horizontal scale — if you need a highly available multi-region control plane, SQLite on a single VM is the wrong foundation.
  • Low-ops enterprise rollout to hundreds of teams — a lightweight runtime eventually gives way to platform concerns such as tenancy, fleet management, policy administration, and availability engineering.
  • Teams that want zero infrastructure ownership — if your real requirement is managed SaaS, you should choose managed SaaS and accept the trade-offs honestly.

This is the right way to evaluate NanoClaw: not as a universal agent platform, but as a runtime that chooses legibility over abstraction. That is exactly why I find it interesting.


My Architecture Recommendation

If you adopt NanoClaw, do not start by maximizing capability. Start by minimizing blast radius.

I would begin with one agent group per trust boundary, not one per use case. In practice that means separating a personal assistant agent, an engineering workflow agent, and any customer-facing or shared team agent, even if consolidation would be cheaper.

Trust boundaries outlive features. Features change monthly. The question of which data, tools, and channels are allowed to coexist in one execution environment tends to be stable, and getting that boundary wrong is what turns a useful assistant into an incident.

I would also keep the first deployment intentionally boring: a single VM, a single low-risk channel, explicit mounts, no broad credentials, no production inbox access on day one. The mistake teams make with agent runtimes is not under-automation. It is premature privilege.


How NanoClaw Compares to the Usual Open-Source Alternatives

OpenClaw: this is the comparison that matters most because NanoClaw is explicitly a reaction to the same product idea: a personal AI assistant connected to your real channels and workflows. OpenClaw is more ambitious and integration-heavy. NanoClaw takes the opposite bet: keep the idea, reduce the runtime surface, and make isolation a structural property rather than mainly an application-level policy story.

OpenCode: OpenCode is an open-source coding agent. It is strong when the core job is software development in a terminal or desktop coding environment. NanoClaw sits one layer lower in the personal-agent stack: messaging surfaces, scheduling, delivery, credential mediation, and per-agent runtime boundaries. Secrets are mediated through OneCLI’s vault at the proxy boundary, so no raw credentials pass through chat or land inside the agent container.

n8n: n8n is excellent open-source workflow automation. It gives technical teams a large integration surface, visual workflows, and AI workflow building blocks. NanoClaw is not trying to replace that category. It is better framed as a small, self-hosted agent runtime for cases where the agent itself, its workspace, and its security boundary are the product.

That last trade-off is the one I care about most. Open-source is not enough by itself. The question is whether the system is small enough, explicit enough, and isolated enough that an engineering leader can explain it to a security team without hand-waving. On that axis, NanoClaw’s OneCLI-mediated secret handling is a meaningful advantage over app-level allowlists alone.


Deploying NanoClaw on Azure

Azure is a good home for NanoClawbecause the platform primitives line up cleanly with NanoClaw's trust model. You can keep the runtime simple while still surrounding it with mature identity, network, and secret-management controls.

For an initial deployment, a dedicated Ubuntu VM is the right starting point. NanoClaw wants durable local storage, Docker, and direct control over the host. That makes a VM a better fit than forcing it into a more abstract service before you know your workload shape.

My recommended first production shape is straightforward:

  • Compute: start with a Standard_B2s for evaluation, but treat it as a burstable starting point rather than the default for sustained multi-agent production traffic. Move to a larger general-purpose VM if you expect several active agent groups.
  • Identity: use managed identity for Azure-side integrations whenever possible.
  • Secrets: for Azure-side integrations, prefer managed identity and Key Vault where possible; for agent API credentials, keep using the OneCLI-mediated path instead of placing secrets directly in the container.
  • Network: place the VM inside a VNet, and prefer private access paths for anything sensitive.
  • Operations: run NanoClaw under systemd with restart policies and host-level log collection.

Bootstrapping the VM is simple:

az group create --name nanoclaw-rg --location eastus
az vm create \
--resource-group nanoclaw-rg \
--name nanoclaw-vm \
--image Ubuntu2204 \
--size Standard_B2s \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-sku Standard

After that:

  1. Clone NanoClaw and run its setup flow (the installer will install Node, pnpm, and Docker if missing):
    git clone https://github.com/nanocoai/nanoclaw.git
    cd nanoclaw
    bash nanoclaw.sh
  2. Pair a single low-risk channel first and verify end-to-end message flow before widening access.
  3. Create a systemd unit so the service restarts cleanly after host reboots.

The Four Checks I Would Run Before Trusting It

This is the part missing from many deployment guides. Getting the process running is not the same as deciding the runtime is trustworthy.

  1. Traceability check. Send one test message and document exactly how you would trace it from ingress to delivery. If that takes longer than it should, your operators do not yet understand the system well enough.
  2. Privilege check. Verify the agent cannot see credentials, files, or directories that were not explicitly granted. The right default feeling here is mild frustration, not convenience.
  3. Recovery check. Restart the host process and the container independently. Confirm that the system comes back without manual heroics.
  4. Failure-visibility check. Break one dependency on purpose and confirm the failure becomes visible in a place an operator will actually look.

That is the experiment I would encourage every team to run. Not a synthetic benchmark about tokens per second. An operator benchmark: how quickly can a new engineer explain the runtime, trace a message, and recover from a controlled failure? For this class of system, that is a more meaningful trust metric than raw throughput.


What You Can Build With It

The obvious use cases are personal and team workflows that are awkward to assemble out of generic automation tools: a Telegram agent that watches GitHub and pings you when a pull request stalls, a Slack morning briefing, a scheduling assistant with explicit approval prompts, a reporting agent that runs on a recurring cadence and delivers files back into chat.

The more interesting use case is not convenience. It is control. NanoClaw gives you a way to run those workflows in infrastructure you own, with a runtime you can audit and adapt instead of outsourcing the control plane to a platform you do not fully understand.


I think the next important split in agent infrastructure will not be model quality. It will be operational trust.

We are about to see a wave of agent products that can all demo roughly comparable model behavior. What will separate them for serious engineering teams is whether they can be operated, audited, constrained, and explained without mythology. That is where many otherwise impressive products are going to fail security review, procurement, or simply the patience of the engineers asked to own them.

If I were advising an engineering leader evaluating agent platforms today, my recommendation would be simple: choose the most powerful platform you can still fully explain. Not the most powerful platform, full stop. That is why NanoClaw matters. It treats legibility as a feature, and in this category legibility is not cosmetic. It is part of the trust model.


Where I Would Push NanoClaw Further

NanoClaw's strength is not that it is complete. Its strength is that it gives you a clean foundation. The next step I would want is not more integrations first. It is richer operational evidence: better traceability for message paths, sharper inspection tooling for container boundaries, and a clearer story for backup, restore, and controlled upgrades as more teams adopt it.

I would also push for harness pluggability without sacrificing the minimalist codebase. NanoClaw already has a provider abstraction and installable alternatives, but I would still want harness switching to feel like a first-class operational path rather than something primarily discovered through setup skills and fork customization. The bar is keeping the runtime small: a narrow interface and a couple of adapters gets you choice without turning the code into a framework.

That is also the follow-up article I would write next: how to evaluate an AI agent runtime before giving it real privileges. NanoClaw is a strong case study because its trade-offs are visible enough to inspect directly.


Final Take

The most valuable thing NanoClaw does is not automation. It lowers the amount of blind trust required to run an agent system at all.

That is why I think it matters. The industry is very good at building agent demos. It is still learning how to build agent infrastructure that experienced engineers are willing to defend in production. NanoClaw is one of the clearest examples I have seen of a team choosing constraint, readability, and boundary discipline over platform sprawl.

If you are evaluating agent infrastructure on Azure, it is worth spending an afternoon with NanoClaw for one reason above all others: it gives you a chance to inspect the runtime, not just the promise.