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, and
brain memory export carries it to new hardware — no starting over.
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. Permission asks arrive
as cards in the chat, it picks its own model, and conversations delete with
an Undo. 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 ✕ Wrong are endings: the answer becomes a fact in memory, and the row is gone for good rather than joining a pile of dismissed cards. Both take an optional one-line note, and the note is the half that teaches — “that sensor always reads on, it’s not stuck” becomes a standing fact about your house, so the next run doesn’t make the same mistake in new words.
Findings can also reach you without the panel open: sensor.brain_open_findings carries
the open count with the texts as attributes, a brain_finding event fires for each new
one, and setting one option (findings_notify_service) turns them into phone pushes —
no automation needed.
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. Guesses sit at the top of the Findings tab, because “is this broken?” and “have I got this right?” are the same job — a question only you can answer — and one list should hold everything waiting on you. 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.backup_exclude keeps the Claude
credential out of HA backups; 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.
Back up Home Assistant first — somewhere that isn’t this machine
brAIn edits your real configuration: automations, dashboards, helpers, entities. It is
built to be careful, it snapshots files before it changes them, and brain undo puts them
back — but none of that is a backup you can restore from if something goes wrong.
Settings → System → Backups, then copy it off the device: a backup that only exists on
the machine you are changing is the one you cannot use when that machine is the problem.
Quick Start → — add the repo, install (a prebuilt-image pull, not a local build — a download, not minutes of compiling), restart HA once, sign in, press Start learning. About five minutes, plus a few minutes of study in the background.