Since May I’ve used Claude Code as a day-to-day admin assistant for my Home Assistant install, which has about 700 devices across Zigbee, Z-Wave, Thread/Matter and ESPHome. It runs in the Claude Terminal Pro app (ESJavadex/claude-code-ha), edits the live config, and checks its work through MCP. I’ve written up the whole setup:
It covers:
- installing and configuring the app, and the session picker;
- the MCP servers: ha-mcp for states, logs and traces, plus a read-only UniFi one;
- teaching Claude about the house with CLAUDE.md, memory and a “do not fix” list;
- putting /config under git with a nightly push to GitHub, so every change is reviewable and easy to revert;
- worked examples, including a Zigbee timeout that left the bathroom LEDs on, a smart plug that said “on” but passed no power, and four custom integrations broken by the 2026.11 upgrade.
- the bundled Home Assistant plugin (
/ha-check,/ha-upgrade,/ha-find-duplicates);
The three things that made the most difference:
- Write the guard-rails down. A short CLAUDE.md covering config checks, reboot safety, secrets and known workarounds did more for reliability than anything else.
- Read through MCP, write through files. YAML stays the source of truth, ha-mcp is how Claude checks the result, and git shows exactly what changed.
- One task per session. Short sessions stay focused and use far less of your plan’s usage limit.
Disclosure: I contribute fixes to Claude Terminal Pro. Happy to answer questions.