home-assistant/core · error · HomeAssistantError
Unsupported URL
Error message
Unsupported URL
What it means
Raised by fetch_blueprint_from_url when no registered FETCH_FUNCTIONS handler (community forum, GitHub) can import the given URL. Each fetcher raises UnsupportedUrl internally and is suppressed; only when the whole list is exhausted does this generic HomeAssistantError surface. It means the URL scheme/host is not one of the supported blueprint sharing sites.
Source
Thrown at homeassistant/components/blueprint/importer.py:287
fetch_blueprint_from_github_gist_url,
fetch_blueprint_from_website_url,
fetch_blueprint_from_generic_url,
)
async def fetch_blueprint_from_url(hass: HomeAssistant, url: str) -> ImportedBlueprint:
"""Get a blueprint from a url.
The returned blueprint will only be validated with BLUEPRINT_SCHEMA, not the domain
specific schema.
"""
for func in FETCH_FUNCTIONS:
with suppress(UnsupportedUrl):
imported_bp = await func(hass, url)
imported_bp.blueprint.update_metadata(source_url=url)
return imported_bp
raise HomeAssistantError("Unsupported URL")
View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Use a URL from a supported source: a community.home-assistant.io topic URL or a GitHub URL accepted by the GitHub fetch function
- If the blueprint is on another site, download the YAML manually and place it under config/blueprints/<domain>/<name>.yaml
- Verify the URL opens in a browser and points at the blueprint topic/repo itself, not a screenshot or redirect page
Example fix
# before await fetch_blueprint_from_url(hass, "https://pastebin.com/raw/abc123") # after await fetch_blueprint_from_url(hass, "https://community.home-assistant.io/t/123456")
Defensive patterns
Strategy: try-catch
Validate before calling
from urllib.parse import urlparse
SUPPORTED_HOSTS = {"community.home-assistant.io", "github.com", "www.github.com"}
def url_supported(url: str) -> bool:
return urlparse(url).hostname in SUPPORTED_HOSTS Try / catch
try:
bp = await fetch_blueprint_from_url(hass, url)
except HomeAssistantError as err:
if "Unsupported URL" in str(err):
# prompt user for a community forum or GitHub link
... Prevention
- Restrict the import UI/input to community.home-assistant.io and github.com URLs
- Parse and validate the host before calling the fetch API
When it happens
Trigger: Calling the blueprint.import_panel / import_blueprint websocket or the 'blueprint' import flow with a URL whose host is not community.home-assistant.io or github.com (e.g. a pastebin, a GitLab link, a typo like 'http://comunity.home-assistant.io/t/...').
Common situations: User pastes a link to a blueprint forum topic that is actually a redirect or an external mirror; using a GitHub URL to a directory instead of a raw file; trailing typos in the domain; blueprint sharing from unsupported platforms.
Related errors
- err
- Blueprint already exists
- Credential is already linked to a user
- Unable to deactivate the owner
- System generated users cannot enable multi-factor auth modul
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/4fdad25dc9ec80e0.
Report an issue: GitHub.