Skip to content

Commit 84a7970

Browse files
docs: warn Tailscale Funnel users that Claude.ai connectors need port 443 (#2080) (#2094)
Claude.ai's connector backend does not reliably reach non-standard HTTPS ports published via Tailscale Funnel (8443, 10000) - connections fail in every auth mode with no request from Anthropic's range reaching the server. Document the fix (the Tailscale add-on's built-in Share Home Assistant option, which serves on port 443) in the FAQ, the site FAQ, and the Webhook Proxy dev add-on docs. Co-authored-by: kingpanther13 <kingpanther13@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent 4256844 commit 84a7970

6 files changed

Lines changed: 20 additions & 2 deletions

File tree

docs/FAQ.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ This is a known Claude.ai behavior that affects all MCP servers, not just ha-mcp
7474

7575
**Check for a port in the URL.** Your connector URL is built on your Home Assistant's own public address, which must **not** contain a port such as `:8123` (or any other port). To check, open just that base address (e.g. `https://ha.example.com`, without the `/api/webhook/...` secret path) in a browser — it should bring up your HA login page. Remote clients cannot reach a URL that carries a port, even though it loads fine in your own browser. Home Assistant can still listen on 8123 internally, as long as a reverse proxy, tunnel, or 443 port-forward serves that hostname — just don't put the port in the URL you paste.
7676

77+
**Tailscale Funnel: use port `443`.** Funnel can also serve on the alternate HTTPS ports it offers (`8443`, `10000`), but Claude.ai's connector backend does not reliably reach non-standard ports: the connection fails identically in every auth mode, and no request from Anthropic's range (`160.79.104.0/21`) ever reaches the server — nothing appears in any log. Use standard port `443` instead, where the same setup connects on the first try. The official Tailscale add-on's built-in **"Share Home Assistant with Serve or Funnel"** option already exposes Home Assistant on `443`, so use that hostname in the connector URL (same webhook path). See [#2080](https://github.com/homeassistant-ai/ha-mcp/issues/2080).
78+
7779
### "Terminating session: None" in server logs
7880

7981
**This is normal.** ha-mcp runs in stateless HTTP mode, which means each request creates and discards a temporary session. The `Terminating session: None` log message is the MCP SDK reporting this routine cleanup — the connection stays active.

homeassistant-addon-webhook-proxy-dev/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ history from before the fork.
99
-->
1010

1111

12+
## v2.1.1.dev2 (2026-07-30)
13+
14+
Documentation: warn Tailscale Funnel users that Claude.ai connectors require the
15+
standard HTTPS port 443 (#2080).
16+
17+
1218
## v2.1.1.dev1 (2026-07-26)
1319

1420
Version line rebased onto the 2.1.0 stable base (no code changes — dev and

homeassistant-addon-webhook-proxy-dev/DOCS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ automatically on the next clean start.
4646

4747
> **Reachability check:** Claude.ai connects from Anthropic's servers, not from your computer — so the URL must be reachable from the public internet, not just your LAN. If a connection won't establish, open the remote URL on your **phone with Wi-Fi turned off** (cellular only). If it doesn't load there, the URL isn't publicly reachable (a DNS, port-forward, TLS, or reverse-proxy problem) and Claude.ai can't reach it either — fix that first.
4848
49+
> **Tailscale Funnel: use port 443.** Claude.ai's backend does not reliably
50+
> reach a Funnel published on a non-standard HTTPS port (`8443`, `10000`) —
51+
> the connector fails identically in every auth mode (no auth, `legacy`,
52+
> `ha_auth`) and no request from Anthropic's range ever reaches your logs. Use the
53+
> Tailscale addon's built-in **Share Home Assistant with Serve or Funnel**
54+
> option, which publishes on the standard port 443, and build the connector
55+
> URL on that hostname (same webhook path).
56+
4957
> **Recreate the connector when OAuth or the URL changes.** Claude.ai binds an
5058
> authentication mode to a connector when you add it, and caches it. If you
5159
> later **turn OAuth on or off**, or the **webhook URL changes** (you rotated
@@ -94,6 +102,7 @@ http://192.168.1.100:9583/private_zctpwlX7ZkIAr7oqdfLPxw
94102

95103
- **Nabu Casa subscribers**: Leave `remote_url` blank — auto-detected from cloud storage
96104
- **Cloudflare/DuckDNS/nginx**: Set `remote_url` to your external URL (e.g. `https://ha.example.com`)
105+
- **Tailscale Funnel**: Use the Tailscale addon's built-in **Share Home Assistant with Serve or Funnel** option, which publishes on port 443, and set `remote_url` to that hostname — Claude.ai cannot reliably reach a Funnel published on an alternate port such as `8443`
97106

98107
Your external URL must point directly at Home Assistant — opening it in a browser should land on your HA login page — and it must **not** contain a port such as `:8123` (or any other port). If the connect URL carries a port, remote MCP clients such as Claude will fail to reach it even though it loads fine in your own browser.
99108

homeassistant-addon-webhook-proxy-dev/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: "Nabu Casa - Webhook Proxy for HA MCP (Dev)"
22
description: "DEV CHANNEL (unstable) — remote access proxy via Nabu Casa or any reverse proxy. Cannot run alongside the stable Webhook Proxy add-on."
3-
version: "2.1.1.dev1"
3+
version: "2.1.1.dev2"
44
slug: "ha_mcp_webhook_proxy_dev"
55
url: "https://github.com/homeassistant-ai/ha-mcp"
66
stage: experimental

homeassistant-addon-webhook-proxy-dev/mcp_proxy_dev/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
"dependencies": ["webhook"],
88
"documentation": "https://github.com/homeassistant-ai/ha-mcp",
99
"iot_class": "local_push",
10-
"version": "2.1.1.dev1"
10+
"version": "2.1.1.dev2"
1111
}

site/src/pages/faq.astro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,7 @@ source ~/.zshrc
468468
<li><strong>Reachability from Anthropic's servers:</strong> Claude.ai connects from the cloud, not your network — a URL that works in Claude Code or your browser (both on your LAN) can still be unreachable for Claude.ai web. Open the URL on your <strong>phone with Wi-Fi off</strong>; if it doesn't load, it isn't publicly reachable and Claude.ai can't reach it either.</li>
469469
<li><strong>Don't forget to click <em>Connect</em> on the connector</strong> — and, with OAuth enabled, click <strong>Allow</strong> on the consent page. Adding the connector alone does not complete the connection.</li>
470470
<li><strong>URL works in your browser but the LLM can't connect?</strong> Your reverse proxy is filtering the AI client — see <a href="#cloudflare-blocks-llm" class="text-blue-400 hover:underline">Cloudflare: LLM can't connect</a> below (Cloudflare's "Block AI training bots" and geo/country blocking are the usual causes).</li>
471+
<li><strong>Tailscale Funnel: use port <code class="bg-slate-800 px-1 rounded">443</code>.</strong> Funnel can also serve on the alternate HTTPS ports it offers (<code class="bg-slate-800 px-1 rounded">8443</code>, <code class="bg-slate-800 px-1 rounded">10000</code>), but Claude.ai's connector backend does not reliably reach non-standard ports — the connection fails identically in every auth mode and no request from Anthropic's range (<code class="bg-slate-800 px-1 rounded">160.79.104.0/21</code>) ever reaches the server. The official Tailscale add-on's <strong>"Share Home Assistant with Serve or Funnel"</strong> option already exposes Home Assistant on <code class="bg-slate-800 px-1 rounded">443</code> — use that hostname in the connector URL (same webhook path). See <a href="https://github.com/homeassistant-ai/ha-mcp/issues/2080" target="_blank" rel="noopener noreferrer" class="text-blue-400 hover:underline">#2080</a>.</li>
471472
</ol>
472473
</div>
473474

0 commit comments

Comments
 (0)