Claude can control Home Assistant entities exposed through its Assist API, using supported commands; the API does not perform administrative tasks. The exact reach depends on the connection route and the entities made available. Clubic reported that, in one test, Claude unlocked a garage lock the author had deliberately exposed.

What Claude controlled through Assist

The Model Context Protocol (MCP) lets a client such as Claude connect to tools and APIs configured in Home Assistant. The built-in Assist API supports conversational commands for exposed entities, such as checking a state or controlling a device. Home Assistant says its capabilities match those available to the built-in conversation agent, and that it cannot perform administrative tasks. Home Assistant’s Assist API documentation

In a test published by Clubic on October 31, 2026, the author connected Claude to the Assist-specific endpoint and exposed selected entities. The test date was not stated. Clubic reported that Claude read the states of three desk lights and switched them on and off. When the author asked it to change brightness, Claude initially said that only on/off commands were available in the session. After the author corrected the session’s tool availability, Claude set the lights to 20% and 70% brightness and adjusted a heater thermostat. The setup was later expanded to 17 exposed entities; exposing a device did not necessarily expose every related function.

For a requested sunset automation, Claude returned YAML for the author to add manually. That fits Assist’s documented role: it handles supported intents for exposed entities, not Home Assistant administration.

Why hosted Claude needs remote access

Home Assistant’s instructions say the hosted Claude connector reaches the Home Assistant instance from the cloud, including when used through Claude Desktop. The instance must be reachable from the internet. Home Assistant Cloud is one way to provide that access; another remote-access method can also work. Home Assistant’s MCP Server documentation

Clubic used the optional Home Assistant Cloud service from Nabu Casa in its test. The report also said that information needed by Claude passed through Anthropic’s services in that hosted setup. Before connecting, check both the remote-access arrangement and the entities exposed to the integration.

Assist, the global MCP endpoint, and other tools

Home Assistant’s Assist-specific route and its global MCP endpoint have different scopes. The global endpoint makes configured LLM APIs available to MCP clients and requires an administrator account by default; its configuration can restrict which APIs are available. Home Assistant’s MCP Server documentation

Route or toolRoleAccess or capability scope
Home Assistant Assist through MCPConversational control and information for supported intentsLimited to entities exposed to Assist; no administrative tasks
Home Assistant’s global MCP endpointMakes configured LLM APIs available to MCP clientsRequires an administrator account by default; configuration can restrict available APIs
homeassistant-ai/ha-mcpA separate community MCP serverIts project README describes device-control and configuration tools, including automation management
Home Assistant ManagerA Claude Code skill for configuration workflowsIts repository describes validation, deployment, automation checks, and log workflows; it is not an MCP server

A skill, a community server, and Home Assistant’s built-in Assist route are different tools. The repository descriptions for ha-mcp and Home Assistant Manager refer to their own projects, not to the Assist API.

What happened with the garage lock

Clubic reported that Claude proposed a generic off command for one garage lock the author had deliberately exposed. The author approved the action, and Home Assistant showed the lock as unlocked. Clubic also said that Claude followed an instruction to ask for approval during the test. A conversational instruction is not a technical access boundary; the configured API and exposed entities determine what the connection can reach.

The reported result concerns that one lock in that one setup. It does not establish what another lock or installation will do. That is why the practical permission check is the entity exposure and API route, not just the wording of a request to Claude.

A separate voice workflow uses an iPhone button and Sonos

Smart Life demonstrates a separate Claude and Home Assistant voice workflow triggered by an iPhone Action Button, with spoken responses through a Sonos speaker.

Smart Life’s separate demonstration uses an iPhone Action Button to trigger Claude and a Sonos speaker for spoken responses. The video also includes examples involving energy queries, automation creation, and starting Netflix playback on a TV. This is a different configuration from Clubic’s Assist test.