Fork of NanoClaw · Built on Claude Agent SDK

Run AI agents in isolated containers.
Secure by design.

WireClaw runs each AI agent in its own Docker container with its own filesystem, identity, and skills. No permission checks. No shared state. Just isolation.

terminal
# Define your agent
$ vim wireclaw.yaml

# Deploy it
$ wireclaw deploy ./my-agent
Container started: my-agent-a8f3
Channels: whatsapp, email
Skills loaded: 3
Ready.

Docker for AI agents

Each agent runs in a real Linux container. Not a sandbox. Not a VM. A full container with its own filesystem, processes, and network stack.

{}

Container isolation

Every agent gets its own Docker container. Agents can't read each other's files, access each other's credentials, or interfere with each other's processes. Security comes from the container boundary, not from code-level permission checks.

ID

Manifest-based identity

Define your agent in a single YAML file: name, email, personality, skills, mounts, and channel config. The manifest is the source of truth. Version it in git, diff it, review it in PRs.

SK

Skills system

Skills are self-contained packages with a SKILL.md file that teaches the agent how to use them. Drop a skill folder into your agent's config, and it just works. Write your own in minutes.

CH

Multi-channel

One agent, many channels. Connect to WhatsApp, Telegram, Slack, Discord, and email. Each conversation maps to a group folder with its own memory and config.

SW

Agent swarms

Run teams of specialized agents that coordinate with each other. A research agent, a code agent, a writing agent — each in its own container, each with its own tools, working together on tasks.

<10

Small codebase

You can read the entire WireClaw source in under 10 minutes. No framework maze. No abstraction layers. The code does what it looks like it does.

Three steps. That's it.

No config files scattered across directories. No environment variable soup. One manifest, one deploy command, done.

Define

Write a wireclaw.yaml

Name your agent, give it an email address, list its skills, and specify which directories it can access. The YAML manifest is the complete definition of what your agent is and what it can do.

Deploy

Start the container

WireClaw builds a Docker container from your manifest, mounts the specified directories, loads the skills, and starts the Claude Agent SDK inside the container. Your agent is running.

Connect

Link to channels

Register group chats, DMs, or email addresses. Messages arrive, get routed to the right agent, and responses go back through the same channel. Each conversation gets its own folder for memory and state.

How the pieces fit together

A group-based architecture where each conversation gets its own isolated context.

Channels
WhatsApp
Groups & DMs
Telegram
Bots & groups
Slack
Workspaces
Discord
Servers
Email
SMTP / IMAP
Message Router
WireClaw Core
Routes messages to the right agent container based on channel + group config. Manages trigger words, sender allowlists, and group registration.
SQLite
Messages & group config
Agent Containers
Agent A
Own filesystem, skills, identity
Agent B
Own filesystem, skills, identity
Agent C
Own filesystem, skills, identity
Per-Agent Internals
Claude SDK
Claude Code runtime
Skills
SKILL.md packages
MCP Tools
External services
Workspace
Mounted directories

Real config, not pseudocode

These are actual WireClaw configuration files. Copy, modify, deploy.

# wireclaw.yaml — the complete definition of an agent

name: support-bot
handle: support
email: support@mycompany.com
description: Customer support agent for the docs site

model: claude-opus-4-20250514

skills:
  - web-search
  - ticket-manager
  - knowledge-base

mounts:
  - hostPath: ~/docs/knowledge-base
    containerPath: knowledge
    readonly: true

channels:
  - type: slack
    workspace: mycompany
    trigger: @support
  - type: email
    address: support@mycompany.com
    requiresTrigger: false

env:
  TICKET_API_URL: https://api.mycompany.com/tickets
# SKILL.md — teaches the agent how to use a skill
# This file IS the skill. No code to write, no API to implement.
# Just instructions the agent follows.

# Ticket Manager

You manage customer support tickets.

## Commands

- /ticket create <title> — create a new ticket
- /ticket assign <id> <person> — assign a ticket
- /ticket close <id> — close a resolved ticket
- /ticket list — show open tickets

## Rules

1. Always confirm before closing a ticket
2. Tag tickets with priority: P0 (outage), P1 (broken), P2 (minor)
3. Escalate P0 tickets immediately by emailing oncall@mycompany.com
4. Log every action to tickets/audit.log

## Tools

Use the ticket API at $TICKET_API_URL:
- POST /tickets — create
- PATCH /tickets/:id — update
- GET /tickets?status=open — list open
# CLAUDE.md — agent instructions (loaded automatically)
# Lives in the group folder for per-channel behavior,
# or in the agent root for global behavior.

# Support Bot

You are a customer support agent for MyCompany.

## Personality

- Be direct. Customers want answers, not pleasantries.
- If you don't know something, say so. Don't guess.
- Link to docs when they exist: docs.mycompany.com

## Knowledge Base

Your knowledge base is mounted at /workspace/extra/knowledge/.
Search it before answering product questions.

## Escalation

If a customer mentions:
- Data loss → P0, escalate immediately
- Billing issues → forward to billing@mycompany.com
- Feature requests → log in requests/features.md

How WireClaw stacks up

Honest comparison. Pick the tool that fits your use case.

Feature WireClaw NanoClaw OpenClaw
Container isolation Yes Yes Partial
YAML manifests Yes Yes No
Skills system (SKILL.md) Yes No No
Multi-channel (WA, TG, Slack, etc.) Yes WhatsApp only Yes
Agent swarms Yes No Limited
Claude Agent SDK Yes Yes No
Codebase size Small (~10 min read) Small Large
Group folder architecture Yes Yes No
Task scheduling Cron + one-shot Basic Yes
Sender allowlists Per-group No Global only

Common questions

WireClaw is an open-source platform for running AI agents in isolated Linux containers. It's a fork of NanoClaw, built on Anthropic's Claude Agent SDK. Each agent gets its own filesystem, identity, and skills, with security enforced by container isolation rather than permission checks.
WireClaw is a fork of NanoClaw, which is itself an alternative to OpenClaw. WireClaw focuses on a smaller, more readable codebase (under 10 minutes to read), YAML-based agent definitions, and a skills system with self-contained SKILL.md packages. It uses container isolation instead of complex permission systems.
WhatsApp, Telegram, Slack, Discord, and email. Each channel maps to a group folder with its own configuration, memory, and conversation history. Adding a new channel is a matter of writing a message adapter — the agent side doesn't change.
Yes. Docker is not optional — it's how WireClaw enforces security boundaries. Each agent runs in its own container and can only access files and network resources you explicitly mount or allow. This is the core design principle: isolation by default.
Yes. WireClaw supports agent swarms — teams of specialized agents that communicate with each other. Each agent still runs in its own container with its own identity and skills, but they can coordinate through inter-agent messaging. A common pattern is a "main" orchestrator agent with specialist agents for specific tasks.
WireClaw is built on Anthropic's Claude Agent SDK (Claude Code). Agents run as Claude Code instances inside Docker containers, with full access to tools, file operations, and bash commands within their isolated environment.
A skill is a folder with a SKILL.md file. That file contains instructions the agent reads and follows — commands it can respond to, APIs it should call, rules it should obey. No code to write, no plugins to install. Drop the folder in your agent's skills directory and list it in wireclaw.yaml. The agent reads the SKILL.md at startup and knows what to do.
WireClaw is actively used in production for real workloads — managing schedules, handling customer conversations, monitoring infrastructure, running research tasks. That said, it's a fast-moving project. Expect the API surface to evolve. Pin your version if stability matters to you.