Replies: 13 comments
|
❌ Analysis failed An error occurred: Please check the workflow logs. |
|
What is your connection method? Local, cloudflare, nabu casa, etc? |
|
Mac has been known to have finnicky connection issues with ha-mcp, so knowing if you're connecting locally or via http is important to try to pinpoint the issue. I'd recommend try to set up an http/remote connection via cloudflare or nabu casa if you haven't already to see if that might help, or to try doing it locally if you're currently doing it remotely. |
|
Thanks, it’s Nabu Casa. I had tried adding the Nabu Casa add-on before, but it didn’t seem to work. Or it may have been an ID-10-T error. I’ll check that out. |
|
❌ Analysis failed An error occurred: Please check the workflow logs. |
|
So Claude is using the URL that the nabu casa webhook app provided in MCP/connector settings? Try to access the URL directly in your browser and tell me what it says please. Also ake sure that you restarted HA after setting up the nabu casa webhook app since it has to install a custom component to work. |
My bad. I'm currently connecting locally (http://192.168.1.47:8123/), not via the Nabu Casa webhook. I tried the webhook proxy approach previously but it failed with 'Couldn't reach the MCP server.' I do not currently have the webhook proxy app installed, which also explains why there's no custom_components folder in my config. Should I reinstall the webhook proxy app and try again? If so, any tips on what might have gone wrong the first time? |
|
I've checked other 🔍 AnalysisThe "API error: 400" issues you're seeing on Home Assistant 2026.4.3 are likely caused by a change in how Home Assistant (or its underlying web server) handles HTTP headers. Specifically, the While previously tolerated, stricter security or protocol enforcement in recent Home Assistant versions often rejects GET requests that claim to have a JSON body but are empty. This explains why tools using WebSocket (like This is a known pattern when newer web servers (like 🛠️ Suggested Steps
📊 Technical Analysis (for maintainers)Root CauseThe Home Assistant 2026.4.3 appears to have updated its web server (likely Affected Code
Proposed FixRemove the global --- a/src/ha_mcp/client/rest_client.py
+++ b/src/ha_mcp/client/rest_client.py
@@ -79,7 +79,6 @@
self.httpx_client = httpx.AsyncClient(
base_url=f"{self.base_url}/api",
headers={
"Authorization": f"Bearer {self.token}",
- "Content-Type": "application/json",
},
timeout=httpx.Timeout(self.timeout),
)Related Issues/PRs
🤖 Automated analysis by Issue Bot |
|
I think that's your problem then, there has been a plethora of issues with MAC connecting locally. See https://homeassistant-ai.github.io/ha-mcp/faq/#macos-connection If you want to use nabu casa addon it will allow you to connect remotely (like via claude.ai or the claude mobile app and etc) and will probably get around the problem too, but it isn't necessary. Let me know if any of that stuff fixes your issue! If not then we may need to do more digging. |
|
I tried the manual fix you suggested (removing the The fix didn't seem to work. REST GET tools like One thing I noticed while looking at the code: Also I'm connecting locally via |
|
Disregard what the github actions bot says, it usually doesn't give very useful advice. Installing it via uv tool is using a completely different path and method than the addon and is independent from the addon. You might have conflicting setups right now, as in you might have more than one running at once. If you're using the addon you should see a url like http://:9583/private_(KEY HERE) in the addon logs. That is the url you should give your AI to connect to your MCP server, with port 9583. If you're going to do it the other way, then you'd use port 8123 and I think you need a long lived access token as well. |
|
@ellewiz were you able to get it working? I'm going thru the backlog of issues to see what still needs to be addressed or what can be closed. |
|
Converting to discussion; if you still are having trouble then let me know here and I can help troubleshoot, or you can open a new issue |
Uh oh!
There was an error while loading. Please reload this page.
💬 What Happened?
When using the Claude Code app on macOS Tahoe 26.4.1, when it starts up looking at Home Assistant, it gets several
400errors. Restarting didn’t fix.🔴 Failing Tools
All of the following fail unconditionally, with no parameters or with default parameters:
ha_get_overview (any detail_level)
ha_get_state (any entity ID, including confirmed-existing entities)
ha_get_integration (no arguments)
ha_get_updates (no arguments)
ha_get_logs with source=logbook
ha_get_logs with source=error_log
ha_search_entities — returns "All search methods failed" (may be a separate issue)
✅ Working Tools
These work correctly on the same instance:
ha_get_system_health
ha_get_device
ha_get_addon
ha_get_logs with source=system
ha_eval_template (confirmed returns correct values, e.g. entity state read via template)
ha_call_service, ha_bulk_control (not yet tested but unrelated surface)
📋 Error Response Example
json{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "API error: 400 - ",
"suggestions": [
"Check Home Assistant connection",
"Verify API token permissions",
"Try test_connection first"
]
}
}
Note: the error body after 400 - is empty, suggesting HA is rejecting the request with no explanation.
🖥️ Environment
Home Assistant Core: 2026.4.3
Home Assistant OS: 17.2
ha-mcp App version: 7.3.0 (latest per App store — update_available: false)
Board: Odroid-N2 (aarch64)
Installation method: HAOS App (formerly Add-on)
MCP Server state: started, watchdog enabled
HA system log: No errors or warnings related to MCP at time of failure
🔄 Steps to Reproduce
Install ha-mcp 7.3.0 on Home Assistant 2026.4.3
Call ha_get_overview() with default parameters
Observe API error: 400 - with empty body
💡 Additional Context
The split between failing and working tools suggests the issue is specific to certain API surfaces — likely WebSocket commands or REST endpoints that changed in HA 2026.4.x. Since ha_eval_template (which calls POST /api/template) works but ha_get_state (which presumably calls GET /api/states/<entity_id> or equivalent WebSocket) does not, the problem may be isolated to specific endpoint patterns.
No HA system log errors were present. Restarting the App did not help.
📋 Copy-Paste from Conversation
All reactions