Claude Custom Connector Not Working: 3 Causes, 1 Test (2026)
Fix a Claude custom connector not working: one known-good test server shows if your plan, the network or OAuth sign-in is at fault, with a fix per error.
Tarun Khatri
Published · Updated · 7 min read
A Claude custom connector not working has three usual causes: your plan or role blocks it, Claude can't reach the server, or sign-in fails.
One test tells them apart. Add a connector that is known to work: if it connects, your Claude account is fine and the fault is the other server.
This page is for anyone adding a remote MCP server to Claude, and for developers whose own server won't connect. We run Weir, and its two public servers are the test.
Paste this URL into Claude's Add custom connector dialog:
https://docs.weirapp.io/api/mcp
The map, for any Claude plan:
- Add a no-sign-in serverWeir's docs server needs no account.
- Add a sign-in serverWeir's API server uses OAuth.
- Read the resultBoth connect: the other server is at fault.
- Match the errorFind Claude's message in the table.
Claude custom connector not working? Run this test first
A known-good server splits the problem in two: your Claude account can run custom connectors, or it can't.
- Add a server with no sign-in. Open Claude's dialog with Weir's docs server filled in. Check the name and URL, pick No sign-in if asked, and click Add.
- Add a server that signs in. Open the dialog with Weir's API server filled in. Keep what Claude marks Detected, then sign in to a free Weir account.
- Ask a free question in a new chat: "What's my Weir usage?"
Anthropic documents this link format: it only fills in the form, and nothing is added until you confirm.
- The test servers connect and yours doesn't. Your plan, your role and Claude's sign-in flow all work, so the fault is in the other server. If it isn't yours, send its owner Claude's exact message.
- The test servers can't be added either. The limit is on Claude's side: your plan, your role, or an incident on
status.claude.com.
The Free plan allows one custom connector, so test one server at a time. The clicks for each plan are in our guide to adding a remote MCP server URL.
What a healthy connector answers
A working connector answers a free call, and you see the tool call in the chat. Paste this:
What's my Weir usage?
We ran it on 12 November 2026, through the Weir connector on our own Claude account. Claude called get_usage and got this, trimmed:
{
"data": { "balance": 20164, "spendingPaused": false },
"meta": { "creditsCharged": 0 }
}
Next we asked for the 10 latest posts from @claudeai on X (Twitter). The search_x tool returned all of them. One, trimmed:
{
"data": [
{
"text": "Also new: with interactive connectors, you can now open the full version of a tool inside Claude. ...",
"url": "https://x.com/claudeai/status/2120206375137484875",
"likeCount": 3992
}
],
"meta": { "creditsCharged": 11 }
}
Connecting is free, get_usage is free, and a 10-post search costs 11 credits; 5,000 credits a month are free, and $5 buys 25,000.
Claude connectors not working: symptom, likely cause, fix
Find what you see in the first column. The causes and fixes are Anthropic's own, checked on 12 November 2026.
| What you see | Likely cause | Fix |
|---|---|---|
| You can't add a connector | Member on Team or Enterprise | Ask an Owner |
| A second one won't add | Free plan allows one | Remove the first |
| "Couldn't reach the MCP server" | Private IP, firewall, no metadata | Public URL, allow Anthropic's IPs |
| "Authorization with the MCP server failed" | Redirect, PKCE, slow token endpoint | Use the final URL, fix OAuth |
| The row shows Reconnect | Claude lost access | Sign in again |
| Claude never calls it | Off in this chat | +, then Connectors |
| "Unexpected error while invoking tool" | The tool returned an error | Check server logs |
| Wrong sign-in setting | Settings can't be edited | Remove it, add it again |
"Couldn't reach" misleads. Anthropic's page says that, despite the wording, "it isn't always a network failure."
A mistyped URL fails too. We posted to https://api.weirapp.io without /mcp that day and got a 404.
Claude connectors not showing, or requires owner approval?
Before you blame the server, check your plan, your role and the chat's toggle.
As of 12 November 2026, Anthropic's guide to adding a connector by URL says:
- Free plan: "you can add one custom connector."
- Team and Enterprise: an Owner adds the connector for the organization, and members then connect with their own account.
- Enterprise: a custom role that manages the organization's libraries can add one too.
- Any other member: "you can't add a custom connector yourself, so ask an Owner to add it."
The words "requires owner approval" were not in Anthropic's docs that day. They describe a Request button: on a Team plan, a member without permission sees it on directory connectors, and it goes to the Owners.
So if an Owner must approve, ask the Owner. There is no supported way around it.
A connector can also be connected but switched off in one chat. Open +, then Connectors, and turn it on.
What Claude does at each step, and where each one fails
Claude connects from Anthropic's cloud, not from your computer, and each step fails in its own way.
Anthropic's troubleshooting page lists the causes in the order Claude meets them. As of 12 November 2026:
| Step | What Claude does | A failure shows as |
|---|---|---|
| 1 | Resolves the hostname to public IPv4 | Couldn't reach, no request sent |
| 2 | Calls the URL from Anthropic's cloud | Couldn't reach, behind a firewall |
| 3 | Drops the credential on a cross-host redirect | Authorization failed |
| 4 | Reads the 401 and the sign-in metadata |
Couldn't reach, or a dead sign-in page |
| 5 | Registers itself as an OAuth client | Couldn't reach |
| 6 | Sends you to sign in, with PKCE S256 |
Authorization failed |
| 7 | Swaps the code for a token in 10 seconds | Authorization failed |
| 8 | Calls a tool | Unexpected error while invoking tool |
Step 1 explains an old puzzle: a server that works in curl or Claude Code but not on claude.ai. Those run on your machine, while claude.ai calls from Anthropic's servers.
Claude custom connector OAuth: compare yours with a healthy server
An OAuth server owes Claude a few exact answers, and curl shows them.
We ran these against Weir's server on 12 November 2026. Swap in your own URL and compare:
curl -sI https://api.weirapp.io/mcp
curl -si -X POST https://api.weirapp.io/mcp
curl -s https://api.weirapp.io/.well-known/oauth-authorization-server
The lines that matter, trimmed:
HTTP/1.1 405 Method Not Allowed
HTTP/1.1 401 Unauthorized
Www-Authenticate: Bearer resource_metadata="https://api.weirapp.io/.well-known/oauth-protected-resource/mcp", ...
"registration_endpoint":"https://api.weirapp.io/oauth/register"
"code_challenge_methods_supported":["S256"]
"client_id_metadata_document_supported":true
- No redirect. Anthropic's checklist says a
401or405is fine. A3xxto another host is not. - A
401that points to metadata. Claude starts sign-in only from a401. - A way to register. Weir offers dynamic client registration and Client ID Metadata Documents.
- PKCE
S256. Claude sends it on every authorization request.
We also sent Weir a key without the word Bearer that day, and the 401 said why:
error_description="Send the credential as `Authorization: Bearer <token>`."
Weir speaks Streamable HTTP and takes a key from any client that can set headers, such as Claude Code. Its MCP docs list who signs in and who sends a key. To test from code, use a Python MCP client.
When not to use Weir's test servers
- Our servers can fail too. Run
curl -sI https://docs.weirapp.io/api/mcp. A405means the test server is up. - Your server sits on a private network. Anthropic's docs point to MCP tunnels for that.
- The failure comes after sign-in succeeds. We can't see Anthropic's side. Anthropic asks for a GitHub issue with the
ofid_ID from the error page. - You want to post to X. Weir reads public data only and isn't licensed by X, so access can change.
FAQ
Why are my Claude custom connectors not working?
Add a known-good server first. If it connects, your account is fine and the failing connector is at fault. If nothing can be added, check your plan and role: Free plans get one custom connector, and Team plans need an Owner.
Why are Claude connectors not showing or not loading?
Each chat has its own switch: open +, then Connectors, and turn the connector on. If a tool is missing, look at Tool permissions on the connector's page, where a tool can be set to Blocked. If the page itself won't load, check status.claude.com.
Why do Claude connectors keep disconnecting?
When Claude loses access to a service, the connector's row shows Reconnect: select it and sign in again. If it keeps happening, the server's token refresh is failing. Anthropic gives a refresh request 30 seconds, and expects invalid_grant when a refresh token is dead.
Can a Claude custom connector use a bearer token?
Only where the dialog has a Request headers section. Anthropic calls it a beta for "a limited set of organizations." Claude sends the value exactly as typed, so write Bearer, a space, then the key. Everywhere else, sign in with OAuth.
Sources
All checked on 12 November 2026:
- Anthropic, add a connector by URL: https://claude.com/docs/connectors/custom/add-unlisted
- Anthropic, authentication for connectors: https://claude.com/docs/connectors/building/authentication
- Anthropic, directory vs custom connectors: https://claude.com/docs/connectors/building/directory-vs-custom
- Anthropic, troubleshoot your connector: https://claude.com/docs/connectors/building/troubleshooting
- Anthropic, getting started, the directory and testing: https://claude.com/docs/connectors/getting-started, https://claude.com/docs/connectors/directory and https://claude.com/docs/connectors/building/testing
- Anthropic, IP addresses: https://platform.claude.com/docs/en/api/ip-addresses
- Claude Status: https://status.claude.com
- Claude Code docs, MCP: https://code.claude.com/docs/en/mcp
- Weir docs: https://docs.weirapp.io/mcp, https://docs.weirapp.io/authentication and https://docs.weirapp.io/agent-setup
- Our Weir calls (get_usage, search_x) and curl checks of api.weirapp.io and docs.weirapp.io, 12 November 2026