Messuage (pronounced like message) is Middle English for a dwelling house and its grounds. The name is deliberate: a messaging app for your house.
A graphical AI chat interface for Home Assistant — Claude, Gemini, and OpenAI support.
Talk to your AI from your phone with a proper messaging UI — not a webterminal. Edit automations, debug dashboards, control devices, all from the HA companion app.
Migrating from Claude Code Messages? Claude Code Messages has been retired. Messuage HQ is its successor — uninstall Claude Code Messages and install Messuage HQ from this same repository. Your conversations carry over. See MIGRATION.md for the full step-by-step guide.
Transparency: this app was built with the help of Claude Code itself. The architecture and the security rules are mine; a lot of the implementation was a collaboration with the AI. The full security model is in SECURITY.md and all the code is open in this repo.
Existing AI-on-HA apps run the CLI inside an xterm.js webterminal. That works on a laptop. On a phone it's painful:
- Copy/paste is awful in iOS Safari
- No image attachments — can't paste a screenshot of your dashboard
- No clean way to cancel a long generation
- Permission prompts mixed in with chat output
- No idea when the AI is thinking vs done
Messuage HQ wraps the AI CLI but exposes it as a real chat UI: bubbles, code blocks with copy buttons, image attachments from your camera roll, an explicit Stop button, and inline Approve / Reject cards for every Bash and WebFetch.
- "Add a motion-triggered automation that turns the porch light on after sunset" → the AI edits
automations.yaml, snapshots a backup first, restarts the automation domain - "Why's the bedroom thermostat showing as unavailable?" → greps the HA log, checks the device's state, walks you through the integration page
- "Build me a dashboard for my solar inverter" → paste a screenshot of the data you want, get the YAML back
- "Run a backup before I do anything else" → single sentence; backup runs
All of this from your phone, on the way to bed.
| Drawer | Chat with tools | Automation prompt |
|---|---|---|
![]() |
![]() |
![]() |
- AI providers — Claude (OAuth, no API key needed), Gemini (beta), or OpenAI (beta) — switch per session
- Modern chat UI — chat bubbles, code blocks with copy buttons, inline permission cards
- Multiple parallel conversations, each with its own context
- Plan mode toggle — let the AI think through an approach without touching files
- Image attachments — clipboard paste, camera roll, or file picker
- SVG rendering — AI-generated SVG diagrams render inline with a Download PNG option
- Inline permission cards — Approve / Always allow this domain / Reject
- Stop button that actually stops mid-generation
- Resume — pick a session back up after the app restarts
- Audit log at
/config/messuage-hq-audit.log— every tool call, every block, every snapshot - Destructive-op protection — type-to-confirm for dangerous commands
- Hard-coded security rules — secrets and auth files are forbidden, destructive shell commands are blocked, protected files auto-snapshot before edit
- An AI provider account:
- Claude — a Claude account with Pro, Max, or Team (OAuth login, no API key)
- Gemini (beta) — a Google AI API key
- OpenAI (beta) — an OpenAI API key
- For full HA control: a long-lived access token (HA → Profile → Security)
- Home Assistant → Settings → Apps → Install apps (blue button) → ⋮ → Repositories
- Paste
https://github.com/covertconvert/home-assistant-addons→ Add - Refresh the store; find Messuage HQ under "Home Assistant Apps"
- Install → Start → open from the sidebar
Full details, configuration, and security model: Messuage HQ README · SECURITY.md
A native iOS companion app is in beta on TestFlight — connects directly to your HA instance without needing to open the HA companion app.
Join the beta: https://testflight.apple.com/join/FrVnK1br
Inspired by Claude Terminal for Home Assistant by heytcass. From-scratch implementation, not a fork — SSE chat protocol instead of xterm.js, designed mobile-first.
MIT — see each app's LICENSE.



