Loading...
Author Cloudapp
E.G.

How to Install HACS in Home Assistant – Step by Step

June 6, 2026
Table of Contents

Want to use custom integrations, themes, or dashboard cards that aren't in Home Assistant's default catalog? Then you need HACS – the Home Assistant Community Store. (For what HACS actually is, see What is HACS?.) This guide walks you through installing HACS step by step – from download to GitHub authorization to your first integration.

I run Home Assistant in Docker, so this guide leans on the path I actually took rather than the one that's easiest to screenshot. The install itself was uneventful — the one thing that caught me out was that HACS doesn't appear on its own afterwards. Home Assistant has to be restarted before it shows up, and if you skip that you'll be convinced the installation failed when it didn't.

Prerequisites

A running Home Assistant installation. You need to know which type you run (HAOS/Supervised vs. Container/Core) – the install method differs.

Container / Core: terminal access to the config directory. HAOS / Supervised: no terminal needed.

A free GitHub account – HACS loads its integrations through GitHub.

Install HACS step by step

1. Download HACS

HAOS / Supervised (the most common setup): go to Settings → Add-ons → Add-on Store → ⋮ (top right) → Repositories, and add https://github.com/hacs/addons. Then install the Get HACS add-on, start it, and follow the instructions in the add-on logs.

Container / Core: run the official installer inside your Home Assistant config directory:

That one-liner has to run inside the Home Assistant configuration directory — the folder holding your configuration.yaml. In a Docker setup that folder lives on the host and is mounted into the container, so you have a choice: run the installer on the host in the mounted directory, or exec into the container and run it there. Either works, because both end up writing to the same place — the custom_components folder next to your configuration.

If you're not sure which host directory is mounted, ask Docker rather than guessing:

docker inspect -f '{{range .Mounts}}{{.Source}} -> {{.Destination}}{{"\n"}}{{end}}' homeassistant

The line whose destination is /config is the directory you want. Running the installer anywhere else is the second-most common reason a HACS install appears to succeed and then does nothing — the files land somewhere Home Assistant never reads.

wget -O - https://get.hacs.xyz | bash -

2. Restart Home Assistant

Go to Settings → System → Restart. Home Assistant only detects the new integration after a restart.

This is the step people skip, and it was the only one that briefly stopped me. HACS installs files into custom_components, and Home Assistant only scans that folder at startup — so until you restart, HACS genuinely does not exist as far as Home Assistant is concerned. A configuration reload is not enough here; it has to be a full restart.

3. Add the HACS integration

Go to Settings → Devices & Services → Add Integration and search for HACS. Important: HACS only shows up after you clear your browser cache or do a hard refresh – this is the most common "HACS doesn't appear" cause. Then acknowledge the statements and submit.

4. Authorize with GitHub and finish

HACS uses a GitHub device OAuth flow: copy the device code it shows, open github.com/login/device, sign in, enter the code, and authorize HACS. Back in Home Assistant, assign HACS to an area and select Finish.

5. Install your first integration

HACS now appears in your sidebar. Open it, browse the available integrations, install one, and restart Home Assistant. That's it.

The HACS panel on my own instance: repositories grouped by status, with downloads, stars and last activity for each one.

How to check the install actually worked

Before you start hunting for integrations, three quick checks tell you whether HACS is properly wired in:

  • HACS is in the sidebar. If it isn't, you either skipped the restart or the files went into the wrong directory.

  • Settings → Devices & Services shows HACS as a configured integration — not just as something you can add. If it's still only in the "add" list, the setup flow didn't complete.

  • Opening HACS lists repositories rather than an empty page. An empty HACS almost always means the GitHub authorization didn't finish.

If all three look right, you're done — everything after this is choosing what to install.

What a finished install looks like under Settings → Devices & Services: HACS listed as a configured integration, not just an available one.

A word on trust before you install anything

This part rarely gets said plainly: everything you install through HACS is third-party code running inside your Home Assistant process, with the same access to your instance that the built-in integrations have. It is not sandboxed, and nobody at Home Assistant reviews it. HACS is a distribution mechanism, not a vetting service.

That isn't a reason to avoid it — I run several HACS integrations and they're the reason my setup does anything interesting. It is a reason to be deliberate. Before installing something I don't recognise, I look at whether the repository has recent commits, whether issues get answered, and roughly how many people use it. A project that hasn't been touched in two years will quietly break on some future Home Assistant release, and you'll be the one debugging it.

Common problems

HACS doesn't appear in the integration list: clear your browser cache or hard-refresh (officially the most common cause), and double-check you restarted Home Assistant.

HACS stays empty: the GitHub authorization (step 4) was skipped.

GitHub rate limit: wait a few minutes and run the authorization again.

HACS installed but the integration you added still doesn't appear: installing through HACS only downloads the code. Almost every integration needs another Home Assistant restart afterwards, and then to be added under Settings → Devices & Services like any other integration. Downloading is not the same as enabling.

Everything worked, then broke after a Home Assistant update: a custom integration that hasn't kept up with a breaking change will fail to load and show up in the logs at startup. Check the repository for an update before assuming your configuration is at fault.

Frequently asked questions

Is HACS free?

Yes – HACS is open source and completely free.

Do I need a GitHub account?

Yes – HACS loads its integrations through GitHub, so a free account is required.

Does HACS work with Home Assistant Container or Core?

Yes – the one-line installer works on all installation types. On HAOS, the Get HACS add-on is the easiest route.

How do I update HACS integrations?

HACS shows available updates directly in its panel; a single click plus a restart is enough.

Does HACS slow Home Assistant down?

HACS itself is negligible — it checks for updates in the background. What can cost you is what you install through it: each integration polls devices or services on its own schedule, so twenty of them will do more work than three. That's an argument for installing deliberately, not for avoiding HACS.

Can I remove HACS again?

Yes. Delete the integration under Settings → Devices & Services, then remove the hacs folder from custom_components and restart. Note that integrations you installed through HACS are separate folders and stay behind — remove those too if you want a clean state.

Is HACS official?

No. HACS is a community project, not part of Home Assistant, and it isn't endorsed by the Home Assistant team. That's precisely why the trust question above matters.

Next step

HACS is up and running. Next, learn what HACS is and why it's a must-have for every Home Assistant user in What is HACS?.

Once HACS is installed, the harder question is what's actually worth adding. I keep a directory of HACS integrations here — ranked by GitHub stars and grouped into collections like energy, lighting and security, so you can browse the field instead of guessing at repository names.

Related articles