Home Assistant Marketplace: how to install custom integrations and cards now that HACS is built in
HACS is built into Home Assistant as the Marketplace. How to install integrations, cards and themes, add custom repositories, and move over from HACS.
On this page
- Where it is and who can use it
- How to install HACS on 2026.11 or newer
- What the Marketplace installs
- Installing an integration, card or theme
- Custom repositories and the GitHub connection
- Updating, versions and pre-releases
- Moving from HACS
- The warning, and what it means for security
- Troubleshooting and where to report
The Marketplace is HACS moved inside Home Assistant. Since Home Assistant 2026.11 it comes with Home Assistant, lives under Settings > Marketplace, and installs the same community integrations, dashboard cards, themes and templates from the same catalog HACS used.
Short version: on 2026.11 or newer, don’t install HACS. You can’t, and you don’t need to. Open Settings > Marketplace, accept the warning once, search for what you want and select Install. You only need a GitHub account to add custom repositories (projects that aren’t in the catalog) and to get a higher request limit. If you had HACS before, your downloads moved over on their own when you updated, but check three things: dashboard resources defined in YAML, templates that use integration_entities('hacs'), and custom repositories without a hacs.json file.
This is a research piece. I run Home Assistant, but I haven’t used the Marketplace myself yet. Everything below comes from Home Assistant’s Marketplace documentation and the pull request that added it. For the background on the move, see my news brief on HACS becoming the Marketplace.
Where it is and who can use it
| Question | Answer |
|---|---|
| Where is it? | Settings > Marketplace. It isn’t in the sidebar. |
| Who can use it? | Administrators only. |
| Do I need to set it up? | No. It’s set up by default, with nothing to install or configure. |
| Does it matter how I installed Home Assistant? | It’s part of Home Assistant itself, so there is no separate download step for container installs the way there was with HACS. |
| Does it work in recovery mode? | No. |
The first time you open it, the Marketplace shows a warning. Until someone accepts it, nothing installs or updates, including from an automation, though you can browse the catalog. The pull request says the warning is shown per user and stays accepted until the warning itself changes. I cover what the warning means further down.
How to install HACS on 2026.11 or newer
You don’t. Home Assistant blocks the HACS custom integration on 2026.11 and newer, because the Marketplace replaces it. The HACS download script also refuses to run on 2026.11 and points you to the Marketplace documentation instead.
So if an older guide or video tells you to run the HACS download script, or to add HACS under Devices & services, skip that step. Everything those guides install from HACS is now in Settings > Marketplace.
On 2026.10 or older, HACS still works, and the HACS documentation still applies. If you’re about to set HACS up on an old version anyway, I’d update Home Assistant first and use the Marketplace from the start.
What the Marketplace installs
| Type | What it is | Where it goes | After you install |
|---|---|---|---|
| Integrations | Support for devices and services Home Assistant doesn’t include | custom_components | The setup page opens if Home Assistant can load it right away. Otherwise a repair asks for a restart |
| Dashboards | Cards, card features and other dashboard items | www/community, added as a dashboard resource | Reload your browser. If there was no www folder when Home Assistant started, a repair asks for a restart first |
| Themes | Change how Home Assistant looks | themes | Reloads automatically. Pick the theme in your user profile |
| Templates | Reusable template macros | custom_templates | Reloads automatically. Import the macros into your templates |
All four live in your configuration folder. A few things HACS users may look for are not in the Marketplace:
- AppDaemon apps and Python scripts.
- Repositories that contain apps (the former add-ons). The Marketplace refuses to add them.
- Blueprints. Those still come from import links and the Blueprint Exchange, as in my blueprints worth installing first.
If a theme you installed doesn’t show up in your profile, check that configuration.yaml still has the line that loads the themes folder. Home Assistant adds it when it creates the file, but older configurations may not have it:
frontend:
themes: !include_dir_merge_named themes
Installing an integration, card or theme
Find it
The Marketplace opens to the catalog. Three controls narrow it down:
- Search looks at names, descriptions and repository names.
- Filters shows only some content types, or only what you’ve installed.
- Sort by orders the list, for example by GitHub stars or recent activity.
A repository’s page shows its description, the available version, the author, and links to the source code and the issue tracker. That’s the information to judge whether you trust it. Newly added repositories carry a “new” mark; to clear them all, open the three-dot menu in the upper-right corner and select Dismiss new repositories.
Install it
- Open the repository’s page.
- Select Install.
- Check the version shown in the dialog. The first time you install a repository, the dialog also reminds you that the Home Assistant project doesn’t review or support it.
- Select Install.
What happens next depends on the type, as in the table above. For integrations, the pull request says a first install no longer needs a restart when Home Assistant can load it straight away. Integrations that use YAML configuration are the usual exception, and a repair under Settings > System > Repairs reminds you and can restart Home Assistant for you. If you close the setup page, add the integration later under Settings > Devices & services.
Install a different version
To pick something other than the latest version, open the three-dot menu in the upper-right corner of the repository page and select Install another version. Two things to know:
- It isn’t a rollback tool. The docs say not to use it to go back after an update, and to restore a backup instead. My restore-from-backup walkthrough covers that.
- If the latest version needs a newer Home Assistant than you run, the install dialog lists earlier versions on its own, so you can pick one that works.
The pull request says other versions are fetched through GitHub’s API, so they count against the request limit covered below. I couldn’t find anywhere that says choosing another version needs a connected GitHub account.
When an install replaces a built-in integration
Some community integrations use the same domain (the internal identifier) as an integration that ships with Home Assistant, usually to offer a newer or different version of it. The Marketplace allows it, but the install dialog warns you and asks for an extra confirmation.
After the restart, the community version loads instead of the built-in one for every setup that uses that domain. Devices you already set up may stop working, fixes to the built-in integration stop arriving with Home Assistant updates, and the Home Assistant project can’t help with problems it causes. To go back, uninstall the community integration and restart.
Uninstall something
- Open the repository’s page.
- Open the three-dot menu in the upper-right corner and select Uninstall.
- Confirm.
For a card, the Marketplace also removes the dashboard resource, unless you manage resources in YAML, in which case you remove it yourself. An integration can’t be uninstalled while it’s still set up. The Marketplace lists the setups and offers View integration, to remove them yourself, or Delete and uninstall, which removes the setup and the integration together and deletes its devices and entities.
Custom repositories and the GitHub connection
What needs a GitHub account
| Task | GitHub connection needed? |
|---|---|
| Browse the catalog | No |
| Install catalog content | No |
| Update catalog content | No |
| Add a custom repository | Yes |
| Keep custom repositories up to date | Yes. The Marketplace then checks them every 48 hours |
| A higher GitHub request limit | Yes |
Without a connection, the Marketplace shares GitHub’s hourly request limit with every other device on your internet connection. If you run more than one Home Assistant install, or other tools that talk to GitHub from the same connection, I’d connect even if you never add a custom repository.
Adding a custom repository
A custom repository is a project that isn’t in the catalog. The Marketplace treats it like any catalog repository once it’s added. It has to meet the same rules as catalog entries:
- It’s a public repository on GitHub.
- It has a
hacs.jsonfile describing it. Most community projects already do. - It holds an integration, dashboard, theme or template, in the folder layout that type requires.
To add one:
- Go to Settings > Marketplace.
- In the upper-right corner, select Add from link.
- Under GitHub link, enter the repository as a full URL, such as
https://github.com/owner/repository, or asowner/repository. - Select Add.
If you haven’t connected GitHub yet, the Marketplace asks you to at this point. If it can’t tell what type of content the repository holds, or it holds more than one type, choose one under Type and select Add again. The repository then appears in the list, and you install it from its page like anything else.
If it won’t add, the dialog says why. Two reasons the docs name: the repository is already in the catalog, or it contains apps.
To remove a custom repository from the list, select Add from link again and use the remove button next to it under Added from links. Anything you installed from it stays listed until you uninstall it. If the catalog later picks the repository up, the Marketplace switches it to a normal catalog entry on its own.
Connecting your GitHub account
The Marketplace uses GitHub’s device sign-in, so you never type your GitHub password into Home Assistant:
- When the Marketplace needs a connection, it explains what connecting does. Select Continue. It shows a code and a link to GitHub.
- Open the link, sign in to GitHub if needed, and enter the code.
- Approve the connection on GitHub.
- Return to Home Assistant. The Marketplace finishes on its own.
If it doesn’t complete, try again; GitHub issues a new code each time. To connect before you need to, or to switch GitHub accounts, go to Settings > Devices & services > Marketplace, open the three-dot menu on the Marketplace integration entry and select Reconfigure.
The docs say the connection doesn’t ask for access to private repositories or for permission to change anything on GitHub. To revoke it, go to your GitHub account settings, under Applications > Authorized OAuth Apps. Features that need GitHub then stop working until you reconnect.
If GitHub is hard to reach: the download source
The shipped 2026.11 docs add one option the development docs didn’t have. By default the Marketplace downloads the catalog and everything you install from GitHub. If GitHub is unstable where you are, you can switch to a relay: go to Settings > Marketplace, open the three-dot menu in the upper-right corner, select Download source, pick one and select Submit. The only relay listed is Chinese Community Relays, run by the Home Assistant community in China, which falls back to third-party relays when it can’t be reached.
With a relay, everything the Marketplace downloads passes through whoever runs it, and your GitHub connection isn’t used. I’d leave this on GitHub unless downloads actually fail. If the Marketplace can’t reach the catalog and a relay exists for your country, a repair suggests it; keep GitHub and it stops asking.
Updating, versions and pre-releases
Each installed repository gets an update entity, and new versions show up under Settings > Updates next to Home Assistant’s own updates. From there you can read the release notes and install.
| What | How it works |
|---|---|
| Catalog content | Checked for new versions every 6 hours |
| Custom repositories | Checked every 48 hours, with a GitHub connection |
| Integration updates | Need a restart. A repair reminds you and can restart for you |
| Catalog or GitHub unreachable | The affected update entities go unavailable. Installed content keeps working |
| Pre-releases | Off by default, per repository |
To get pre-releases for one repository, go to Settings > Devices & services > Marketplace and open that repository’s device page. Its Pre-release switch is disabled by default, so enable the entity first, then turn the switch on.
Automations can install Marketplace updates once someone has accepted the warning. I’d rather be told than have integrations update themselves, since an integration update needs a restart anyway. A notification is enough:
alias: "Marketplace update available"
triggers:
- trigger: state
entity_id: update.card_mod
from: "off"
to: "on"
actions:
- action: persistent_notification.create
data:
title: "Marketplace update"
message: "{{ state_attr(trigger.entity_id, 'friendly_name') }} has a new version."
Swap update.card_mod for your repository’s update entity, which is listed on its device page under Settings > Devices & services > Marketplace. To see every pending Marketplace update in one template, this should work, because the docs say the update entities belong to the marketplace integration. I haven’t run it on a 2026.11 install yet:
{{ integration_entities('marketplace') | select('match', 'update\.') | select('is_state', 'on') | list }}
Moving from HACS
There’s nothing to start by hand. The migration runs the first time Home Assistant starts after the update.
| What | After the update |
|---|---|
| Everything you installed with HACS | Stays installed and keeps getting updates |
| Custom repositories | Carry over |
| Update entities | Keep their entity IDs, names, areas and labels, so automations and dashboards keep working |
| The HACS integration | Removed, with its files |
/hacs bookmarks and HACS buttons on project pages | Open the Marketplace |
| Card resources | Served from /local/community/. Old /hacsfiles/ paths keep working |
The hacs:hacs icon on dashboards | Shows the Marketplace |
| HACS options (sidebar title and icon) | Gone. The Marketplace lives under Settings |
| HACS-China users | Switched to the Chinese Community Relays download source. A token from its shared pool is removed; your own GitHub connection stays |
What to check before you update
- Take a full backup. I couldn’t find anywhere that says the migration can be undone by going back to 2026.10, so a backup is the way back.
- Search your configuration for
integration_entities('hacs'). Those templates find nothing after the update; change them tointegration_entities('marketplace'). From a terminal,grep -rn "integration_entities(.hacs.)" /configcatches both quote styles, and because it reads.storagetoo, it also finds dashboards and template helpers you made in the UI. - Check whether you manage dashboard resources in YAML (a
resources:list underlovelace:inconfiguration.yaml). If you do, a repair reminds you to change the paths to/local/community/, and new installs won’t add their resource for you; the install dialog shows the line to add. - Open each custom repository you added in HACS on GitHub and look for a
hacs.jsonfile. Without one, the project stays installed but the Marketplace can’t update it, so you’d update it by hand or ask the author to add the file. - List any AppDaemon apps or Python scripts you got through HACS. They keep working where they are but stop getting updates, and a repair names them.
- Look for anything that talked to HACS directly. The old
hacs/WebSocket commands return an unknown command, custom integrations that readhass.data["hacs"], thehacs.*files in.storageorhacs_dispatch_*signals find nothing, and restart information is no longer in the update entities’release_summaryattribute; the Marketplace raises a repair instead.
After the update, open Settings > System > Repairs and work through anything the migration flagged.
If you rely on something from item 4 or 5, my news brief has more on why those two are left behind.
The warning, and what it means for security
The warning you accept on first open says the Home Assistant project hasn’t “tested, audited, or supported” anything in the Marketplace. It goes on to say that Marketplace content runs inside Home Assistant with access to your home, your data and the machine it runs on, and that it can compromise your security, leak your data or slow Home Assistant down. You install it at your own risk.
That’s the same deal HACS always was, now written down where you can’t miss it. The pull request is plain about the limits: there are no signatures or checksums on what gets installed, files come from GitHub over HTTPS, installed integrations run inside Home Assistant, and installed cards run in the browser of every user who opens the dashboard.
What the Marketplace does guard, per the pull request:
- Every command is limited to administrators.
- Files are only written to and removed from their own folders, with size limits on downloads.
- Themes are read without YAML tags, and READMEs go through a sanitizer.
- Your GitHub token stays out of download URLs and diagnostics.
Two catalog safety nets are new. If a repository is dropped from the catalog, a repair tells you why, and the installed copy keeps working without updates. If the catalog marks a repository as harmful (“critical”), the Marketplace uninstalls it immediately and restarts Home Assistant, and a repair explains what was removed. Check your automations and dashboards for anything that used it before you confirm the repair.
My own rule for a local-first house: before installing, open the repository and look at the author, how recently it was updated and the open issues, which is what the docs suggest too. For integrations, the manifest.json in the repository usually states an iot_class, which tells you whether the integration polls a cloud or talks to the device on your network. Fewer installs means fewer people with code running in your home.
If you’d rather not have the Marketplace at all, go to Settings > Devices & services > Marketplace, open the three-dot menu on the Marketplace integration entry and select Disable. What you installed keeps working but stops updating. Deleting the entry doesn’t do the same thing, because Home Assistant sets it up again on the next start.
Troubleshooting and where to report
| Problem | What to do |
|---|---|
| A message that the Marketplace isn’t available | It doesn’t load in recovery mode, and the same message shows if it failed to start. Check the Home Assistant logs |
| GitHub limit reached | Wait for the hourly limit to reset, or connect GitHub |
| An install fails | The Marketplace says why. The logs have more detail |
| A custom repository won’t add | Check it’s public, has a hacs.json, isn’t already in the catalog and doesn’t contain apps |
| A new card doesn’t appear | Reload the browser. If you had no www folder before, restart through the repair |
| A new theme isn’t in your profile | Check the frontend: themes line shown earlier |
| Update entities are unavailable | The Marketplace can’t reach the catalog or GitHub. Installed content keeps working until it can |
| Something you installed was removed | Read the repair. Either the catalog dropped it or marked it critical |
Where to report a problem depends on whose problem it is:
- A bug in an integration, card or theme you installed goes to that project. Open its page in the Marketplace and select Issue tracker. The Home Assistant project can’t help with community content.
- A bug in the Marketplace itself goes to the Home Assistant core issue tracker, under the
integration: marketplacelabel. Search the open issues first. - Feature ideas go to the Marketplace category of Home Assistant’s GitHub Discussions.
- If you publish a project, getting it into the catalog still goes through hacs/default, and the publishing rules are in the Marketplace contributor docs.
The full reference is Home Assistant’s Marketplace integration page. I’ll update this guide when the Marketplace changes, and once I’ve moved my own install over.