A self-hosted Claude agent on WhatsApp that controls Home Assistant via ha-mcp — with real reasoning sitting between the message and the action.
PublishedApril 2026
ByMark Bala
FieldHome automation
The agent watching the driveway cam over WhatsApp — waiting for the second car before closing the gate.
This NanoClaw agent responds to me — or anyone I allow — over WhatsApp. On its own it's a chat bot. Wired into ha-mcp, it gets the entire Home Assistant surface to work with, plus Claude's reasoning between the prompt and the action.
The stack
NanoClaw — runs persistent, containerized Claude agents addressable from chat apps (WhatsApp, Telegram, Slack, Discord). Each agent has its own memory, workspace, and scheduled-task system. Built on Anthropic's Claude Agent SDK.
ha-mcp — the unofficial Home Assistant MCP server. Exposes tools across services, automations, scripts, dashboards, camera snapshots, history and system health.
Home Assistant — open-source, self-hosted home automation, running on the local network and integrating thousands of devices: cameras, sensors, lights, locks, climate, media.
Things I've asked it over WhatsApp
Writing automations. "Turn off the entrance light if no motion is detected for 10 minutes after sunset." It writes and saves an HA automation with the right triggers, conditions and action chain.
Editing the dashboard. "Add a card on the main dashboard for the new motion sensor." It updates the Lovelace config with the right card type, entity and position.
Debugging. It reads logs and automation traces, then suggests and executes fixes.
Understanding CCTV. It retrieves camera snapshots and comprehends the scene — not just "motion detected".
"Close the gate when the second car is parked and the brake lights are off." It polls every few seconds, evaluates each frame, and only fires the gate-close when satisfied.
"Is the driveway clear?" The condition logic isn't pre-programmed — the agent works out from the prompt what to look for.
Ad-hoc scheduling. "Open the gate and turn on the ground-floor lights in 5 minutes, friends are on the way."
Why it works
Because of Claude's reasoning, loose messages like "close gate", "what's on the driveway cam", or "flash the living room lights like a police siren for 5 seconds" all get executed reliably.
Scheduled actions
Inside Home Assistant — automations and time-triggered scripts that persist and run even when the agent is asleep.
Outside, via NanoClaw — cron-like tasks that wake the agent. "Every morning at 7am, summarize the overnight logs and flag anything weird" runs daily; the agent reads the logs and pings me only if something's off.
What makes this different
The gap between "Alexa, turn off the light" and this is the reasoning between the prompt and the action — and the ability to debug when things don't go to plan.
NanoClaw's persistent memory means the agent remembers what was asked and improves over time, learning the cameras (even the types of cars it sees) and the common requests.
Because it talks over WhatsApp, it can respond to me, to other NanoClaw agents, or to group-chat participants — having a laugh with my smart home.
It makes HA reachable beyond the local network. The NanoClaw and Home Assistant servers sit on the same network, so the house is reachable from anywhere via WhatsApp — no port forwarding, no VPN.