It runs Home Assistant
Not just “turn on a light” — 65 admin services reach the
parts of HA that normally live behind the Settings UI, plus 36 native tools and a
real shell in /config. What it can reach →
A Home Assistant add-on that runs Claude Code and a suite of tools inside HA, which builds a permanent memory of your house.
It sees the whole system — every entity, device, area, floor, dashboard, helper and automation — and it can change any of it. Explain a broken automation. Fix it. Write a new one. Remember why, next time.
That memory isn’t a black box. Open it, read it, edit it, correct it. An insights panel shows what it knows about your house and what it’s done there — in the sidebar, or embedded straight into your dashboards.
Reach it however you want: as your conversation agent, through a full-featured chat interface, or from native Claude Code. Your automations can call it too — which means your house can ask for help before you notice anything’s wrong.
One install, one sidebar panel, one login. Runs on the Claude Pro or Max subscription — or your own API key.

It runs Home Assistant
Not just “turn on a light” — 65 admin services reach the
parts of HA that normally live behind the Settings UI, plus 36 native tools and a
real shell in /config. What it can reach →
It finds what's broken
A dying battery, a sensor that stopped reporting three weeks ago, an automation whose trigger can never fire. Press Fix it and it makes the change. Findings →
It remembers your house
One plain-markdown document of durable facts — nicknames, rhythms, the devices that are meant to behave oddly. Everything brAIn does reads it. Memory →
It explains your house
Insight cards with real interactive charts, proposed for your home rather than shipped as defaults. Ask anything, get a card. Insights →
It talks, in a voice you choose
Pick brAIn in Settings → Voice assistants. Give it a personality, or run several agents with different names and permissions. Voice →
It has a terminal
The real Claude Code CLI with your /config in front of it, as a chat or as a
true terminal — same session, one button between them.
Terminal →
It works from automations
brain.run_task for background jobs, scheduled insight reports rendered to
sensors, and events your automations can trigger on.
Automations →
It can be undone
Every file Claude writes to is snapshotted first. brain undo lists the
edits in plain English and puts one back. The CLI →
Most AI integrations can turn on a light. brAIn runs the installation. It reaches Home Assistant three ways at once — native tools for reading and controlling, admin services for the registry, and a shell for everything that is still a YAML file.
entity_id, hide, unhide, enable,
disable. Find references to things that no longer exist and clean them up — dry-run
first, so you see the list before anything goes.Nothing is create-only. Everything that can be created can be renamed and deleted,
and every attribute a create_ service accepts has a service that changes it later.
A finding is something wrong with your house, filed by brAIn on its own while it was looking at something else. Each one carries the evidence — the entity, the number, the day it started — and the specific change that would resolve it.

Press Fix it and Claude makes the change, verifies it, and reports what it touched. Press Discuss to talk it over first, changing nothing. I fixed it and Ignore are endings: the answer becomes a fact in memory, and the row is gone for good rather than joining a pile of dismissed cards.
Memory is one markdown document you can open and edit. brAIn writes to it from conversations, insight runs and background study sessions — and voice, insights and the terminal all read it. Tell the voice assistant something and the cards know it.

When brAIn believes something it can’t confirm, it says so as a guess you answer with one tap — “The garage fridge is meant to run 24/7 — right?” Three open at a time, never more. Yes files it as a fact; No records a dead end that is never revisited.
The panel is one ingress page with five tabs, built for a phone as seriously as a desktop: every target is at least 44px, no width gets a row of bare glyphs, and the terminal folds the chrome away when the keyboard comes up.

What makes this different from running Claude Code on a regular machine:
/config/CLAUDE.md, a snapshot of
your install that Claude reads at the start of each session.secrets.yaml is never
snapshotted and never edited.brain for its own faculties, ha for Home
Assistant chores. The CLI.brAIn can’t add an integration (config flows are interactive, so it walks you to the right
screen and you click — removing one it can do), never touches credentials, and doesn’t back up your
configuration — Home Assistant’s own backups already do that. What it keeps is an edit
journal of the files it touched, so brain undo can put one back. The full scorecard:
what brAIn can and can’t reach.
Quick Start → — add the repo, install, restart HA once, sign in, press Start learning. About five minutes, plus a few minutes of study in the background.