Home Assistant on a Mac: the dashboard out of the browser
A search for Home Assistant on a Mac hides two completely different problems. One is running Home Assistant itself on the Mac, which means a virtual machine and a decision about whether that Mac stays awake forever. The other is much smaller and far more common: the server already runs on a Raspberry Pi or a dedicated box, and the dashboard is a browser tab at homeassistant.local that keeps getting lost. Both have documented answers, and they have almost nothing to do with each other.
Running Home Assistant itself on a Mac
The project's macOS installation page is explicit about the route it supports. Home Assistant Operating System is installed inside a hypervisor, with VirtualBox disk images published separately for Intel chips and for Apple silicon, and UTM named as the option when VirtualBox is not supported on the Mac in question. The documentation opens by saying to follow that guide only if a supported hypervisor is already running, and points anyone unfamiliar with virtual machines at dedicated hardware instead, naming Home Assistant Yellow, Raspberry Pi, and ODROID.
The stated minimum resources are modest: 2 GB of RAM and 2 vCPUs, with room to raise both later. The configuration details are where installs go wrong. UEFI has to be enabled, because Home Assistant requires it to boot. On Apple silicon the disk controller is VirtioSCSI rather than SATA, and the operating system is selected as Oracle Linux in the ARM 64 bit variant. Networking has to be set to Bridged Adapter on the adapter that actually reaches the internet, otherwise the instance cannot talk to devices on the network.
After boot, Home Assistant answers at homeassistant.local. The documentation lists the fallbacks worth knowing before panicking: plain homeassistant, or the virtual machine's IP address, and port 8123 appended to any of those if port 80 is already taken by something like a reverse proxy.
The part the documentation does not have to say is that a Mac running a home automation server is a Mac that can never sleep. Automations, presence detection, and alarms stop when the host suspends. That single constraint is why most setups end on dedicated hardware and why the dashboard question, not the server question, is what most Mac owners actually need answered.
The official Mac app is a wrapper, and that is fine
Home Assistant publishes a Companion app on the App Store. The listing shows it as free, from Nabu Casa, Inc, available for iPhone, iPad, Mac, Apple Watch, and Apple Vision, with the Mac version requiring macOS 13.3 or later. The companion documentation adds that the server needs to be on Home Assistant 0.104.0 or newer.
What the Mac version does is worth understanding precisely, because it changes the comparison. According to the companion docs on the macOS toolbar, the app shows a toolbar above the Home Assistant interface with Back, Forward, Reload, Copy, Paste, Open in browser, and a server picker that appears once more than one server is configured. The toolbar is customisable by right clicking it and choosing Customize Toolbar, where buttons can be dragged in, including buttons for specific entities and for the same actions available as gestures, such as Show sidebar, Quick search, Search entities, Search devices, Search commands, and Assist.
In other words the official Mac app presents the same web frontend in a native window, with navigation controls and a way to jump out to a browser. On top of that it contributes what a plain window cannot: device sensors and push notifications, so the Mac itself becomes an entity that automations can read and a target that notifications can reach.
Two facts from the App Store listing belong in the decision. The app is 264.1 MB, and Apple's own note on the page states it may use location even when it is not open, which can reduce battery life. For a desktop that mostly displays a dashboard, neither is fatal, but both are real.
Where the official app stops
The companion app is one window showing one server at a time. That covers the common case and leaves several ordinary ones uncovered.
A Mac on macOS 12 cannot run it, since the listing requires macOS 13.3 or later. That is an old but perfectly serviceable machine, and a wall mounted iMac displaying a dashboard is exactly the kind of Mac that never gets upgraded.
A single window also means a single view at a time. Anyone who wants an energy dashboard permanently open on a second display while a rooms view sits on the main one is fighting the design. So is anyone who wants a window locked to one specific dashboard URL, with no sidebar and no navigation, as a kiosk style panel.
Then there is everything around Home Assistant. A home setup is rarely just Home Assistant: there is a router admin page, a NAS interface, Zigbee2MQTT or ESPHome dashboards, a camera recorder, a printer. Those are all web pages on the local network, and they all live in the same browser tab strip where Home Assistant used to be.
Finally, extensions. The companion app has no extension support, which matters for a password manager filling logins on those other local interfaces more than it matters for Home Assistant itself.
Release cadence is the quieter difference. The companion app ships through the App Store on Nabu Casa's schedule, while a window built on a Chromium engine follows the browser's own updates. Neither is better in the abstract. It is worth knowing which one is being relied on when a login page or a chart stops rendering correctly, because the fix comes from a different place in each case.
Giving a dashboard its own window
A tool that turns a website into a standalone Mac app builds an application from a URL. The URL can be the Home Assistant root, or one specific dashboard, or a single view. The result has its own Dock icon, its own place in the Command Tab switcher, and its own window that closing a browser cannot take with it.
Three properties are what make this worth doing rather than clever.
The URL is the app, so one Mac can carry several: a rooms dashboard, an energy dashboard, and a separate window for a second Home Assistant instance at a holiday house, all open at once. Each app gets its own browser profile, so two instances with different logins do not sign each other out.
Extensions work, because the engine is Chromium based. A password manager fills the router login and the NAS login in the same way it does in a browser.
Tab mode can be switched on per app, and multiple URLs can be opened as tabs on launch. One window called Home, holding Home Assistant plus Zigbee2MQTT plus the router page as three tabs, replaces a scattered set of bookmarks. The features list covers the per app profile and the tab controls, and the tool itself runs on macOS 12 and later, which is the version the companion app leaves behind.
The routes side by side
| Route | Runs the server | Device sensors and push notifications | Own Dock icon | Locked to one dashboard URL | Minimum macOS |
|---|---|---|---|---|---|
| Home Assistant OS in a VM on the Mac | Yes | No | No | No | Whatever the hypervisor needs |
| Companion app from the App Store | No | Yes | Yes | No | 13.3 |
| Dashboard in a browser tab | No | No | No | No | Any |
| Dashboard in a standalone web app | No | No | Yes | Yes | 12 |
The table is a division of labour rather than a ranking, and the second and fourth rows are not rivals. The companion app is the right answer for notifications and for letting automations know whether that Mac is in use. A standalone window is the right answer for a panel that shows one dashboard and nothing else, for an older Mac, and for the four other local web interfaces that a home setup accumulates.
Plenty of setups run both: the companion app for the Mac that belongs to a person, and a locked down dashboard window on the Mac in the kitchen.
Questions that settle it quickly
Where does the server actually live? If the answer is a Raspberry Pi or a Green, the virtual machine section is irrelevant and this is purely a window decision. If the answer is this Mac, the sleep problem needs solving before anything else.
Does this Mac need to be an entity? Presence, battery level, focus state, and notifications require the companion app. A dashboard window contributes none of that, by design.
Is this Mac a person's machine or a panel? A personal Mac benefits from notifications. A panel benefits from a window pinned to one view that nobody can navigate away from.
What macOS version is on it? Below 13.3 the companion app is not available, and a standalone window becomes the practical route.
How many other local interfaces are in daily use? If the honest count is three or more, the problem was never Home Assistant. It was that every device in the house has a web interface and none of them has a home.
Is remote access set up? A window built from a local address only works on the home network, so a laptop that leaves the house needs either Home Assistant Cloud or another documented remote access route before any of this matters away from home. The companion app raises the same question, since it either finds a server on the local network or has an address entered manually. Deciding the address once, and building the window around the address that works from everywhere, avoids rebuilding it later.
What actually changes day to day
None of this changes how Home Assistant works. Automations, entities, and dashboards behave identically in every window. What changes is reachability and separation.
A dashboard with a Dock icon is reached by keystroke rather than by scanning favicons, and it does not disappear when a browser is quit at the end of the day. A window pinned to one view does not get navigated somewhere else by a guest who wanted to turn a lamp on.
Separate profiles mean a second instance stays signed in, which matters for anyone running a test instance alongside a live one. And the local admin pages that used to be scattered bookmarks become one window that opens the same three tabs every time. The guide walks through building the first app from a URL, and the supported services list shows which sites arrive preconfigured.
What to change first
Settle where the server lives before touching anything on the Mac, because a home automation host that sleeps is the only problem here that actually breaks automations. Then install the companion app if this Mac should send notifications and report sensors, and give the dashboard a separate window if what is wanted is a panel: Kagemusha is free for up to three apps, enough for a dashboard and two local admin pages before spending anything.
Frequently asked questions
Can Home Assistant run directly on macOS?
Not as a native macOS application. The documented route is Home Assistant Operating System inside a hypervisor, with VirtualBox images published for Intel and Apple silicon and UTM named as an alternative, using at least 2 GB of RAM and 2 vCPUs with UEFI enabled. The documentation points anyone unfamiliar with virtual machines toward dedicated hardware such as Home Assistant Green, a Raspberry Pi, or an ODROID.
Is there an official Home Assistant app for Mac?
Yes. The Home Assistant Companion app is listed on the App Store as free from Nabu Casa, Inc, with the Mac version requiring macOS 13.3 or later, and the server needing Home Assistant 0.104.0 or newer. On macOS it shows the Home Assistant interface under a customisable toolbar that includes navigation buttons, Open in browser, and a server picker when more than one server is configured.
Why does the dashboard not open at homeassistant.local?
The installation documentation lists the fallbacks: plain homeassistant, or the virtual machine's IP address, and port 8123 added to any of those. Port 8123 is used when port 80 is already taken, for example by a reverse proxy.
What does a standalone web app add over the companion app?
It can be locked to one dashboard URL, it runs on macOS 12 and later, it supports Chrome Web Store extensions, and each app carries its own browser profile so two instances stay signed in at once. What it does not provide is device sensors or push notifications, which is what the companion app is for.
Is it sensible to run both the companion app and a dashboard window?
For many setups, yes. The companion app suits the Mac a person uses, because automations can read its sensors and notifications can reach it. A separate window suits a Mac acting as a panel, where the point is one dashboard that stays put.