Table of Contents
What Is HACS?
HACS — the Home Assistant Community Store — is arguably the single most impactful add-on you can install on your Home Assistant instance. While Home Assistant ships with hundreds of official integrations out of the box, the community has created thousands more: custom integrations for obscure devices, gorgeous dashboard themes, and powerful Lovelace cards that extend what your dashboard can display and do.
HACS acts as a curated storefront for all this community content. Instead of manually downloading GitHub releases, copying files into your config directory, and hunting for dependencies, HACS handles discovery, installation, and updates in a clean UI right inside Home Assistant.
Since its creation by developer Joakim Sørensen (aka ludeeus), HACS has become an essential tool for any serious Home Assistant user. As of 2025, it hosts well over 3,000 repositories covering integrations, frontend cards, themes, Python scripts, and AppDaemon apps.
Prerequisites
Before installing HACS, make sure you have:
- Home Assistant OS, Supervised, or Container — HACS works on all install types, but some steps differ slightly for Container installs.
- A GitHub account — HACS authenticates via GitHub during setup. It's free and takes under a minute to create if you don't have one.
- File access to your HA config — via the File Editor add-on, SSH add-on, or Samba Share add-on.
- Home Assistant 2024.x or later — HACS 2.0 requires a relatively recent HA version.
Installing HACS Step by Step
Step 1: Download the HACS Integration
Navigate to Settings → Add-ons and install the Terminal & SSH add-on if you haven't already. Open a terminal and run the official HACS download command:
wget -O - https://get.hacs.xyz | bash -
This script downloads the HACS integration files and places them in the correct location inside your custom_components folder.
Step 2: Restart Home Assistant
After the script completes, go to Settings → System → Restart and do a full restart (not just a quick reload). HACS won't appear until HA has fully restarted and loaded the new custom component.
Step 3: Add HACS as an Integration
Once HA restarts, go to Settings → Devices & Services → Add Integration and search for "HACS". Click it to begin the setup flow.
Step 4: Authenticate with GitHub
HACS will present a device activation code and prompt you to visit github.com/login/device. Sign in with your GitHub account and enter the code. This grants HACS read-only access to fetch repository information — it does not get access to your GitHub repos.
Step 5: Accept the Terms
HACS will show a checklist of acknowledgements — that you understand this is community content, not officially supported by Nabu Casa, and that updates may break things. Tick all boxes and click Submit.
HACS will now appear in your Home Assistant sidebar as a new menu item. The initial repository sync may take a few minutes.
Browsing the HACS Store
Click HACS in the sidebar to open the store. You'll see several categories:
- Integrations — Custom Python integrations that add new devices or services to HA.
- Frontend — Lovelace cards, custom elements, and UI modules.
- Themes — Visual themes that change the look of the entire HA UI.
Each entry shows the number of GitHub stars, the last update date, and a short description. You can search by name or filter by category. Clicking any item shows its full README, which typically includes configuration instructions and screenshots.
Pay attention to the last updated date. Community projects sometimes go unmaintained, and an integration last updated two years ago may not work with current HA versions.
Installing Custom Integrations
To install a custom integration (for example, the popular Adaptive Lighting integration):
- In HACS, go to Integrations and search for the integration name.
- Click the integration card, then click Download in the bottom right.
- Choose the version (usually the latest stable release) and confirm.
- Restart Home Assistant — this is required for custom integrations to load.
- After restart, go to Settings → Devices & Services → Add Integration and search for your newly installed integration to configure it.
Some of the most popular HACS integrations include: Adaptive Lighting (auto-adjusts bulb color temperature), Local Tuya (local control of Tuya devices), Midea AC LAN (local Midea air conditioner control), and Spook (adds hundreds of extra entities and services).
Installing Themes
HACS themes change the visual appearance of the Home Assistant frontend. Popular choices include iOS Dark Mode Theme, Google Theme, and Midnight Theme.
- In HACS, go to Frontend and filter by Theme (or browse the Themes section).
- Find your theme and click Download.
- In your
configuration.yaml, ensure you havefrontend: themes: !include_dir_merge_named themes. HACS places theme files in thethemes/folder automatically. - Go to your user profile (bottom-left avatar), scroll to Theme, and select your new theme from the dropdown.
Unlike integrations, themes don't require a full restart — a frontend reload (Developer Tools → YAML → Reload Themes) is sufficient after installation.
Installing Custom Lovelace Cards
Custom Lovelace cards are where HACS truly shines. These JavaScript modules add entirely new card types to your dashboard. Must-have cards include:
- Mini Graph Card — Beautiful sparkline graphs for any sensor.
- Button Card — Highly configurable buttons with templates and styles.
- Mushroom Cards — A modern, minimal card collection widely used in r/homeassistant.
- Auto Entities — Dynamically populates card lists based on filters.
- ApexCharts Card — Full-featured charts and graphs.
After downloading a frontend card via HACS, you need to add it as a Lovelace resource:
- Go to Settings → Dashboards → Resources (three-dot menu at top right).
- Click Add Resource.
- Enter the URL path (HACS shows this on the card's detail page, e.g.
/hacsfiles/mini-graph-card/mini-graph-card-bundle.js). - Set type to JavaScript Module and save.
- Hard-refresh your browser (Ctrl+Shift+R) to load the new card.
Note: In newer versions of HACS and HA, many frontend resources are registered automatically. Check if the resource already appears before adding it manually.
Managing Updates
One of HACS's best features is centralized update management. When updates are available, HACS shows a badge count in the sidebar. Go to HACS → Updates to see everything that has a newer version available.
You can update items individually or select all and update at once. After updating integrations, always restart Home Assistant. After updating frontend resources, do a browser hard-refresh.
Tips and Best Practices
- Back up before installing — Use HA's built-in backup before adding new custom components.
- Check GitHub stars and update frequency — Higher stars and recent commits = more reliable.
- Read the README — Most issues are covered in the integration's documentation on GitHub.
- Don't install everything — Each custom integration adds load to HA startup. Only install what you'll actually use.
- Join the HACS community — The Home Assistant community forums and the r/homeassistant subreddit are excellent resources when something breaks.
- Keep HACS itself updated — HACS updates appear in Settings → Devices & Services under the HACS integration. Update it regularly for bug fixes and new features.
Bottom Line
HACS is an essential tool for any Home Assistant power user. It dramatically expands what HA can do by giving you easy access to thousands of community-created integrations, themes, and cards — all manageable from within HA's own UI. The installation is straightforward, and the payoff is enormous.
SmartWired participates in the Amazon Associates Programme. We may earn a commission from qualifying purchases at no extra cost to you.