anthropics / anthropics/claude-ai-mcp
[BUG] Custom-connector install link: prefill modal never opens on iOS Safari; sign-in redirect drops the prefill params on all platforms
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 471
- Fork
- 77
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## Summary
The documented install-link format for custom connectors ([Share an install link](https://claude.com/docs/connectors/building/directory-vs-custom)):
```
https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=NAME&connectorUrl=ENCODED_URL
```
works as documented on desktop web (dialog opens prefilled, external-link notice shown). On a real iPhone (iOS Safari, tested 2026-08-19) it never opens the dialog, and on every platform the prefill is lost if the user has to sign in first.
## Repro 1 — iOS Safari, signed in: modal never opens
Device: iPhone, mobile Safari, signed in to claude.ai in the browser. Three URL formats tested from the same session:
| URL format | Result |
|---|---|
| `https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=…&connectorUrl=…` (documented) | Lands on the Connectors settings screen. **No dialog opens; nothing is prefilled.** User must tap `+` → Add custom connector and gets an empty form. |
| `https://claude.ai/new?modal=add-custom-connector&…#settings/customize-connectors` (the URL desktop resolves to) | **Hijacked by the native Claude iOS app** via universal links — the app opens instead of Safari, and the app has no add-connector UI, so the flow dead-ends. (The help article "Open the Claude mobile app with a link" documents only `/code` routes as app links; `/new` appears to be claimed as well.) |
| `https://claude.ai/settings/connectors?modal=add-custom-connector&…` | A "connectors have moved to customize" page; params dropped. |
Expected (per the docs): "The dialog opens with the connector name and URL prefilled."
Note: Chrome-engine mobile *emulation* (390×844, touch, iPhone UA) DOES open the prefilled dialog — the failure only reproduces on real WebKit, so it is easy to miss in testing.
## Repro 2 — signed-out user: sign-in redirect drops the params (all platforms)
Docs say: "If the user isn't signed in, Claude prompts them to sign in and then takes them to the prefilled dialog."
Observed (real device, iOS Safari, signed out): tapping the documented link prompts sign-in as expected, but after completing login the user lands on a plain chat screen. The `modal`/`connectorName`/`connectorUrl` params are gone; no dialog, no prefill. Re-tapping the original link from the source tab is required (which then hits Repro 1 on iOS).
This matters disproportionately on mobile: most phone users have their Claude session in the native app, not in Safari, so the signed-out path is the *common* case there.
## Impact
Developers pointing mobile users at the install link (the only mobile-capable install path while in-app custom-connector install is in beta) currently have to ship a manual copy-paste fallback and platform-conditional copy. A working prefill on mobile web — or at minimum params surviving the login redirect — would restore true one-tap install.
## Environment
- iPhone, current iOS Safari, 2026-08-19, consumer account
- Desktop Chrome (macOS): works as documented ✅
- Connector used for testing: a standard remote MCP server over Streamable HTTP with OAuth (DCR + CIMD)
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Start by reproducing the documented /customize/connectors link on real iOS Safari while signed in and signed out, then compare it with the working desktop flow. Trace the sign-in redirect and the /new and /settings/connectors variants; done means the modal opens with connectorName and connectorUrl preserved after login without handing the flow to the native app.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- ios
- Ambito
- authentication, frontend, mobile-dev
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100