Why Alexa stops working with Home Assistant
When Alexa stops controlling Home Assistant devices, the cause is usually one of three conditions: the account link has been revoked or lost, Home Assistant is no longer reachable at the address Alexa calls, or the Alexa Smart Home skill has been unlinked from the Alexa account. Check these in order before changing any configuration, because each one points to a different fix.
Expired or revoked account link after permission changes
A relink is needed when the skill’s permissions change. For example, without the Send Alexa Events permission the skill must be relinked (Home Assistant, 2026). Check in the Alexa app under Skills & Games whether the Home Assistant skill still shows as linked. If not, disable and re-enable the skill, link it again, then restart Home Assistant.
Home Assistant offline or behind a changed URL
If the external hostname changes, the router’s port 443 forwarding is removed, or the certificate expires, Alexa can no longer reach the instance, and commands fail without a clear error in the Alexa app.
Verify the path from outside your home network:
- Open the external address in a browser on mobile data, not on your Wi-Fi.
- Confirm the certificate is trusted and valid.
- Make sure Home Assistant itself is running. Cloud users do not need port forwarding or their own certificate, but the instance must still be online.
Skill unlinked without a configuration change
If the skill shows as not linked and you changed nothing in Home Assistant, verify the status before assuming a cause. Open the Alexa app, go to Skills & Games, and check whether the Home Assistant skill is still enabled and linked. Then enable debug logging to see whether requests from Alexa reach Home Assistant:
logger:
default: warning
logs:
homeassistant.components.alexa: debug
hass_nabucasa.iot: debug # Cloud users only
Logs that show no incoming Alexa requests suggest looking at the link or connectivity first. Logs that show requests arriving but failing call for checking the other causes in this guide, such as exposure, Lambda region or proactive events.
| Symptom | First check |
|---|---|
| Skill shows unlinked with no change on your side | Skill status in the Alexa app; debug logs for incoming requests |

Cloud or manual Alexa skill: which are you using?
Home Assistant can reach Alexa through two routes: a Home Assistant Cloud subscription, or a manual Alexa Smart Home skill that you configure yourself. The route you choose determines what your network must provide. Home Assistant Cloud is the simpler option, because it needs no dynamic DNS, no SSL certificate and no router port opening. A manual skill depends on all three, since your instance must be reachable from the internet over HTTPS on port 443 with a trusted certificate.
| Requirement | Home Assistant Cloud | Manual Alexa skill |
|---|---|---|
| Dynamic DNS | Not required | Required for an instance without a fixed public address (Home Assistant, 2026) |
| SSL certificate | Not required | Trusted certificate required; self-signed certificates will not work (Home Assistant, 2026) |
| Router port opening | Not required | Public HTTPS on port 443 must be reachable from the internet (Home Assistant, 2026) |
| Subscription | Paid, after a 30-day free trial (Home Assistant, 2026) | None stated by Home Assistant |
Home Assistant Cloud
Home Assistant Cloud is a subscription service from Nabu Casa, and an active subscription is its only stated requirement for Alexa. The service includes a 30-day free trial, after which a paid subscription is needed to keep the link working. Check the current price on the official Home Assistant or Nabu Casa website before you start the trial, because pricing is not covered here.
Manual Alexa skill
The manual skill connects Alexa directly to your own Home Assistant instance. Your setup must meet three conditions:
- Home Assistant is reachable from the internet over HTTPS on port 443.
- The certificate is issued by a trusted authority. Self-signed certificates are rejected.
- The public address stays stable, which is why dynamic DNS is typically needed when your provider changes your IP.
If you cannot meet these conditions, or prefer not to expose your instance to the internet, Home Assistant Cloud is the route that avoids them.
Why are my Home Assistant devices missing in Alexa?
When an entity is missing from the Alexa app, the cause is usually discovery scope, not a broken connection. Alexa only lists entities that Home Assistant sends during discovery, and only if each entity maps to a device type Alexa supports. Check these three areas in order: exposure, interface mapping, and rediscovery.
Entity exposure filter
The exposure filter is the first thing to check. Home Assistant’s Alexa integration sends only the entities you have exposed to Alexa. An entity can work normally on your Home Assistant dashboard and still be absent from Alexa because it was never exposed. After you add a new device to Home Assistant, check its exposure setting in the Alexa integration configuration before you troubleshoot anything else.
Unsupported domains and missing interface mapping
Alexa controls devices through defined interfaces. Entities whose domain has no Alexa mapping are not sent to Alexa, so they will never appear regardless of exposure settings. Some entities are present but still limited in use. For example, only certain device_class values for binary sensors appear in Alexa Routines. If your sensor’s class is not on that list, override it with the Entity Customization Tool.
| Entity situation | What to do |
|---|---|
| Entity not exposed to Alexa | Enable exposure in the Alexa integration configuration |
| Binary sensor with an unlisted device_class | Override the class with the Entity Customization Tool |
| Lock | Voice unlock requires a PIN |
| Alarm panel with a required code | Cannot be armed by voice; disarming requires a 4-digit PIN |
| Camera for Echo Show live view | Needs the stream integration and HTTPS on port 443; live view works only over IPv4 |
Rediscovery after changes
Alexa does not refresh its device list automatically after you change exposure or entity settings. Run device discovery by saying “Alexa, discover devices.” Camera WebRTC support is checked only during discovery, so a camera that was added before its stream settings were correct will not update until you rediscover.
Fixing account linking and token errors
Account linking failures in a Home Assistant Alexa setup usually come from one of two causes: a stale token on the Amazon side, or a Lambda function deployed in the wrong AWS region. Each has a documented recovery path.
| Symptom | Documented fix |
|---|---|
| Token invalid and no refresh token | Disable and re-enable the skill in the Alexa app, then restart Home Assistant (Home Assistant, 2026) |
| Linking fails with no clear error (manual setup) | Confirm the Lambda function sits in the AWS region that matches your Alexa locale (Home Assistant, 2026) |
Home Assistant’s documentation for the token error describes only this sequence and no further escalation. If the error returns after you complete it, the cause is probably not the token itself, so move on to the region check rather than repeating the same steps.
Matching the Lambda region to the Alexa locale
For a manual setup, the Lambda function must run in the AWS region that corresponds to your Alexa locale. A mismatch can break the skill or account linking, and the failure produces no clear error message. Nothing in the Alexa app or in Home Assistant names the cause, which makes this the hardest failure to diagnose.
To check it:
- Note the country or locale configured in your Alexa account.
- Open the AWS Lambda console and confirm the region shown for the function you created.
- If the two do not correspond, create the function again in the correct region, then relink the skill.
Enabling debug logs
The log output shows which step of the linking or token exchange fails.
Why are Alexa routines not triggering Home Assistant?
Alexa routines usually fail to trigger Home Assistant actions because the event never reaches Home Assistant, not because the routine is misconfigured. Home Assistant handles two separate traffic paths: device control, where Alexa sends commands to Home Assistant, and proactive events, where Home Assistant reports state changes to Alexa so that routines can react. According to Home Assistant (2026), binary sensors, sensors, routines, doorbell announcements and playback state all need proactive events. A routine that starts from one of these sources stays silent if the proactive path is not working, even when direct voice commands still work.
Separate client credentials
Proactive events need their own client credentials, which are separate from the credentials used for standard device control. Home Assistant (2026) lists this as a requirement. A setup that correctly turns lights or plugs on and off can therefore still leave routines unable to receive sensor or doorbell events. Check that the proactive credentials are configured in addition to the main skill setup, not in place of it.
The Send Alexa Events permission
Proactive events also depend on the Send Alexa Events permission, which is requested during account linking. Home Assistant (2026) states that without this permission the skill must be relinked. The permission governs only proactive events, so its absence typically affects routines built on sensors and doorbells, not basic device control.
Binary sensor device classes
Only certain binary sensor device_class values appear as triggers in Alexa Routines, according to Home Assistant (2026). A sensor with an unsupported class will not appear in the routine editor at all, regardless of whether proactive events work. The class can be overridden with the Entity Customization Tool, which lets you assign a supported class to the entity.
Diagnosing the event path
| Symptom | Likely cause | First check |
|---|---|---|
| Binary sensor missing from routine triggers | Unsupported device_class |
Override the class with the Entity Customization Tool |
| Sensor, doorbell or routine trigger never fires; device control works | Proactive events not active | Proactive credentials and Send Alexa Events permission |
Compare the log entries with the moment the routine should have fired to see whether the event left Home Assistant at all.

Is Alexa Media Player still reliable?
Alexa Media Player is a community-built custom integration for Home Assistant, separate from the official Alexa integration. It is not published by Amazon or Home Assistant, and its reliability depends on whether Amazon’s web endpoints keep accepting its requests. For device control, treat it as a convenience layer with a higher breakage risk than the official Smart Home skill.
How the integration connects
The integration signs in with your Amazon account and uses an unofficial Alexa API that mimics the Alexa app. Amazon does not publish a stable contract for this API, so it may cut off access at any time. A sign-in-based connection can also stop working after an Amazon login change, even when the integration itself has not been updated.
Breakage history
The integration’s GitHub project records concrete failures caused by Amazon-side changes:
| Event | Effect |
|---|---|
| Amazon API change, late October 2023 | Led to the removal of the clear_history service |
clear_history removed, 2024-07-19 |
Service no longer available in the integration |
| Shuffle command removed by Amazon | Feature no longer available through the integration |
These changes show that features can disappear without warning. Check the project’s GitHub changelog before updating Home Assistant, and confirm that a feature still works after any Amazon app update.
Playback and notification scope versus the Smart Home skill
The two integrations cover different ground:
- Alexa Media Player targets the Echo device itself: media playback, volume, and spoken notifications. These functions depend on the internal endpoints the integration imitates.
- The official Smart Home skill is designed for discovering and controlling smart home devices such as lights, plugs, and sensors. It uses Amazon’s published interface, linked to your Alexa account.
Alexa Media Player can only poll the API, so light and sensor updates can lag by several minutes. Use the Smart Home skill for device control, and keep Alexa Media Player only for Echo playback or announcements that the skill does not cover.
Limits for locks, alarms and cameras
Alexa control for locks, alarm panels and cameras has stricter conditions than for lights or plugs. Each device type has a different gate, and the gate is set by the device’s code or video configuration rather than by Alexa alone.
| Device type | Limit through Alexa | Condition to check |
|---|---|---|
| Smart lock | Unlocking by voice requires a PIN | The lock must have a PIN configured |
| Alarm panel | Arming by voice is blocked when a code is required | Disarming requires a 4-digit PIN |
| Camera (Echo Show live view) | Video works only over IPv4 | Stream integration and HTTPS on port 443 |
Locks need a PIN to unlock. If an unlock command fails or Alexa asks for a code, the cause is usually the PIN requirement, not a connection fault. Keep the lock’s code settings consistent with what you expect to say aloud.
Alarm panels follow a similar rule with two parts. Arming by voice is not possible when a code is required, and disarming requires a 4-digit PIN. Confirm in the Home Assistant Alexa Smart Home skill documentation which actions are supported before building a routine around an alarm panel.
Cameras depend on video support at two levels. The camera must be exposed through the stream integration, and the Home Assistant instance must serve HTTPS on port 443. Whether an Echo model can display live video is a device question: the live view described here applies to Echo Show devices, so check Amazon’s specifications for your exact model.
Quick checklist before you reset
Run these checks in order. Each step narrows the cause, so a reset only makes sense after the earlier steps have been ruled out.
-
Account linking and locale. Confirm that the skill is linked in the Alexa app and that the Alexa locale matches your setup. For a manual setup, the Lambda function must be in the AWS region that matches your Alexa locale. According to Home Assistant (2026), a wrong region can break the skill or account linking without a clear error.
-
Proactive events. If sensor and routine updates stop while basic voice control still works, check the separate proactive client credentials and the Send Alexa Events permission.
-
Reset. Only reset after steps 1 and 2 have been checked. Record the items below and collect logs first, so that any support request contains the data needed to diagnose the fault.
What to record before filing a request
| Item | Why it matters |
|---|---|
| Home Assistant version | Identifies the core release in use, shown on the About page in Home Assistant settings |
| Alexa skill version | Identifies the skill build, shown on the skill’s page in the Alexa app |
| Alexa locale | Must match the Lambda region for manual setups |
| Setup type (Home Assistant Cloud or manual) | Determines which requirements and logs apply |
| Lambda AWS region (manual only) | Needed to check it against the Alexa locale |
Logs to collect
Reproduce the failure, then save the log entries from that time window. Keep the entries from before any reset, because a reset changes the state you are trying to diagnose.
Frequently asked questions
Why does Alexa say “Token invalid and no refresh token”?
Home Assistant’s documented fix is to disable and re-enable the Alexa Smart Home skill in the Alexa app, then restart Home Assistant. No further escalation is documented for this error, so if it persists after that, check the skill’s status and your Home Assistant logs before changing other settings.
Do I need Home Assistant Cloud to keep Alexa working?
No. A manual setup works without it, but it requires Home Assistant to be reachable over HTTPS on port 443 with a trusted certificate, since self-signed certificates fail. Home Assistant Cloud, operated by Nabu Casa, avoids dynamic DNS, SSL certificates, and router port opening, but it requires a subscription after a 30-day free trial. For manual setups, the AWS Lambda function must sit in the region matching your Alexa locale, or linking can fail without a clear error.
Why do my lights respond to Alexa but sensors, routines, or doorbell announcements do not?
Those features rely on proactive events, which Alexa pushes to Home Assistant. They need separate client credentials and the “Send Alexa Events” permission. Only certain binary sensor device classes appear in Alexa Routines, so if a sensor is missing there, you can override its class with the Entity Customization Tool in Home Assistant.