Guides

How to add the ZeroSettle connector to Claude so Claude Duet can use it

Claude Duet has no connector setup of its own. It uses the apps connected to your Claude account, so you add ZeroSettle once, on claude.ai: Customize → Connectors → Add custom connector, the URL https://portal.zerosettle.io/mcp, and a sign-in with your phone number. Anthropic says connected apps carry over to Duet, but none of its Duet pages mention custom connectors or MCP. Test with a read-only call before you rely on it, block the tools Duet shouldn't touch, and don't expect scheduled runs to reach it: the one hands-on review says they can't.

Key takeaways

  • Where you add it: claude.ai, not the Duet app. Name it, paste https://portal.zerosettle.io/mcp, choose Sign in now and Register automatically.
  • How you sign in: your phone number and an SMS code on a ZeroSettle page. No token to paste.
  • Get a number in a normal Claude chat first: sign_up, set_profile, send_test_message, then subscribe gives you a Stripe checkout link you open yourself.
  • What's unconfirmed: Anthropic doesn't document that Duet can call custom connectors, that its approval card covers them, or that per-tool blocks apply in Duet. Every reports scheduled runs can't reach custom connectors.
  • Team and Enterprise: an Owner can add the connector for Claude chat, but Duet itself isn't offered on those plans yet.

Why connect ZeroSettle to Claude Duet?

Claude Duet is Anthropic's proactive work agent, in research preview since October 21, 2026. It sends a morning brief from your email and calendar, checks your connected accounts every few hours, works through tasks on its own cloud computer and browser, and asks before it sends, posts, pays, signs or deletes anything. One thing it won't do on its own: Anthropic's help center says Duet "doesn't make phone calls or send text messages to other people."

ZeroSettle fills that gap. It gives your business a dedicated phone number on real iMessage, running on Apple hardware we operate in a server facility, with a REST API, signed webhooks, a hosted AI agent, and an MCP server that Claude can add as a custom connector. ZeroSettle is backed by Y Combinator and built by former Apple engineers. It isn't affiliated with Anthropic. Everything below about Duet comes from Anthropic's own pages and the named reviews in the sources, checked November 4, 2026.

The realistic job for Duet is the owner's side: in a live chat, read what customers texted your number, draft replies, and send the ones you approve. It isn't a channel your customers can text. For the bigger picture, start with Claude Duet and iMessage.

What does Anthropic confirm, and what doesn't it?

Claude Duet and custom connectors (checked November 4, 2026)
QuestionStatusWhere it comes from
Can a Claude account add a custom remote MCP connector?Yes. Free allows one; Pro, Max, Ultra, Team and Enterprise allow more.Claude help center and docs
Does Duet use the apps connected to your Claude account?Yes. Connections carry over, and switching one off in either place switches it off in both.Anthropic's Duet safety article
Can Duet's live chat call a custom connector's tools?Not documented. Likely: a community bridge has users ask Duet to call its tools, and one vendor says a custom connector covers chat, Cowork and Duet. Nobody has published a test.Anthropic is silent
Can the morning brief or check-ins call custom connectors?Reportedly no. Every's Dan Shipper, after about two weeks of early access: "its scheduled runs can't reach my custom connectors."Every, October 21, 2026
Does Duet's approval card cover a tool like send_imessage?Not documented. Anthropic describes approvals for messages, posts, payments, signatures and deletions, not MCP tool calls.Duet safety article, App Store listing
Does a tool set to Blocked in Claude stay blocked in Duet?Not documented.Claude docs describe Blocked for Claude only
Is Duet on Team or Enterprise?No, not yet.Help center, product page

So you can add ZeroSettle to Claude with certainty, and Duet will probably see it in a live chat. Plan as if the brief and check-ins won't.

What do you need before you start?

  • Duet access. It's a US-only waitlist. Anthropic's announcement, help center and product page list Pro, Max and Ultra; the release notes and most press say Pro and Max.
  • claude.ai in a browser, or Claude Desktop. Anthropic calls web and Desktop the main path for custom connectors; installing one from mobile is in beta.
  • A phone that gets SMS. ZeroSettle signs you in with your phone number and a one-time code.
  • No ZeroSettle account yet? That's fine. The connector signs you up.

Step 1: How do you add the connector on claude.ai?

  1. On claude.ai, open Customize → Connectors.
  2. Choose Add custom connector. Depending on the version of the interface you see, it may be Add → Custom → Web.
  3. Name it ZeroSettle iMessage and enter the URL https://portal.zerosettle.io/mcp.
  4. For authentication, choose Sign in now, the option ZeroSettle's docs use.
  5. For the OAuth client, choose Register automatically. ZeroSettle's server supports dynamic client registration. Its OAuth metadata doesn't advertise Claude's recommended published-identity option (client ID metadata documents), so skip that one.
  6. Save, then sign in when Claude opens the ZeroSettle page.

Two notes from Anthropic's docs. Authentication settings can't be edited after you add a connector; to change them, remove it and add it again. And skip the request-headers option: it would carry a static bearer token, but it's in beta for a limited set of organizations, and OAuth needs no token at all.

Step 2: What happens when you sign in?

Claude sends you to a ZeroSettle sign-in page on portal.zerosettle.io. Enter your phone number, then the SMS code. Under the hood it's OAuth 2.1 with PKCE: Claude gets its own token, refreshed automatically and revocable from the ZeroSettle console.

If you already have a ZeroSettle number, sign in with the phone number you use for the console. A number ZeroSettle hasn't seen gets a new, empty account; until you sign up, only a few tools answer, such as get_line, sign_up and read_docs.

Step 3: How do you get a number from inside Claude?

Do this in a regular Claude chat, not in Duet. Custom connectors are documented for Claude chat, and the sign-up has a payment step you'll want to handle yourself. ZeroSettle's connector also ships a get-started prompt in Claude's prompts menu. Or paste this:

prompt
Use the ZeroSettle iMessage connector. Call get_line and tell me where I stand.
If I have no number yet: sign_up with use_cases ["ai_agent"], set_profile with
the name "Northwind Bakery", send_test_message to my phone, then subscribe and
give me the checkout link. Don't call any other tool.

Here's what each call does. sign_up reserves an available number for you. set_profile sets the name people see, shown subject to their own settings. send_test_message texts your phone from the new number. subscribe returns a Stripe Checkout link that you open in a browser. Pay within 30 minutes, because unpaid self-serve numbers are released. Then ask Claude to call get_line until it shows active: true. (Northwind Bakery is a made-up example.)

Why not let Duet pay? Duet's documented ways to buy are Link by Stripe and Shop Pay. Link issues a one-time virtual card for one merchant and amount, with no recurring payments, and a ZeroSettle plan bills monthly. The connector never sees card details; Stripe's checkout page handles them.

One more decision. A new number starts managed by ZeroSettle's hosted AI agent, which answers every inbound text from a business context you write. Each reply uses 1 credit, and Pro comes with 500 free credits once. The default business context is a made-up example, so write yours before anyone texts the number (see the hosted AI agent guide and managing it from Duet). If you'd rather approve every reply through Duet, call set_agent with managed_by: "api", which switches the hosted agent off. Inbound texts then go to your webhook if you have one. If you don't, nothing answers automatically, and texts wait in the console and in list_messages until you reply.

Step 4: Does the connector show up in Duet?

Duet has no connector settings of its own. Payments are the exception: Link and Shop Pay connect inside Duet, from the avatar menu. Anthropic's safety article says apps connected to your Claude account carry over, and that switching one off in either place switches it off in both. That's the documented basis for expecting ZeroSettle to appear.

What's missing is any Anthropic page that names MCP or custom connectors for Duet. The outside signals all point the same way, but none of them is a published test:

  • The community project claude-duet-bridge has you add a custom connector on claude.ai and then ask Duet to call its tools. Its README says Duet's background checks "may or may not use custom connectors."
  • The vendor Zevari says "One custom connector on your Claude account covers Claude chat, Cowork and Duet."
  • Every's review limits its complaint to scheduled runs, which suggests the connectors worked outside them.

Step 5: How do you test it safely in Duet?

Go from read-only to sending, one step at a time, and stop at the first failure.

  1. Read-only call. In Duet, send:
    prompt
    Call the ZeroSettle iMessage tool get_line and tell me my number and its
    onboarding status. Don't call any other tool.
    If Duet reports your number, live chat works for you. If it says it has no such tool, stop here and use ZeroSettle from a regular Claude chat instead.
  2. Read the line. "Use ZeroSettle list_conversations and tell me who texted my number today. Don't reply to anyone."
  3. Send only to yourself. "Use ZeroSettle send_imessage to text my own number, +1 (312) 555-0142, the words Duet test. Show me the message before you send it." Use your real number in place of the example. Watch whether Duet shows its approval card. If the text goes out with no card, Duet won't stop on its own before a send, so blocking (next section) is your guardrail. ZeroSettle's docs describe send_imessage as the way an agent texts from your line: to your own number for a test, and to people who asked to hear from you, under the same STOP and new-contact rules as POST /api/imessage/send. Before Duet texts anyone else, have it call get_agent: if the number is managed by the hosted AI agent, that agent also answers their replies.
  4. Check a block. After you block create_api_key, ask Duet to call it. It should say it can't. If it succeeds, Claude's tool permissions don't reach Duet for you.
  5. Optional: a scheduled run. Ask Duet to include the result of get_line in tomorrow's brief. If the brief says it couldn't reach the tool, that matches Every's report. Don't build anything on it either way.

Write down what passed, with the date. Duet is a research preview, and its behavior may change from week to week.

Which ZeroSettle tools should you block?

Claude's docs describe a per-tool permission on a custom connector, and a tool set to Blocked isn't called. Open the ZeroSettle connector under Customize → Connectors to set it. Anthropic doesn't say whether Duet honors these settings, which is what test 4 checks. A block also applies to your regular Claude chats, so unblock a tool for a moment when you need it for setup.

ZeroSettle connector tools and a cautious setting for Duet
ToolsWhat they doSuggestion
get_line, list_conversations, list_messages, get_agent, list_agent_connectors, list_background_presets, read_docsRead your number's status, conversations, settings, the hosted agent's connectors, the background catalog and the docsKeep
send_imessage, show_typingSends from your number, with the same limits and consent rules as POST /api/imessage/send, or shows "…" in a real conversation; ZeroSettle marks send_imessage as a writeKeep only if you want Duet to send; otherwise block
create_api_keyMints a zs_mcp_ token, shown once, which would land in Duet's conversationBlock
set_webhook, clear_webhook, test_webhookRegister, rotate or remove your server's webhook; clearing it means your server stops hearing textsBlock
set_agent, start_conversationChange who answers your customers, or have the hosted agent open a conversation (credits, new contacts)Block unless you mean it
add_agent_file, add_agent_video, add_mcp_server, update_mcp_server, remove_agent_connectorChange what the hosted agent knows and which tools it usesBlock
set_chat_backgroundChanges the chat background on your number; the change goes out at once to everyone the number has textedBlock
sign_up, set_profile, send_test_message, subscribeSetup and build-time testing; set_profile changes the name customers seeBlock after setup

For how Duet's approvals and these blocks fit together day to day, see Claude Duet iMessage safety and approvals.

How does a Team or Enterprise Owner add it?

On Claude Team and Enterprise, members can't add a custom connector themselves. An Owner, or an Enterprise role that manages libraries, adds it under Organization settings → Connectors → Add → Custom → Web with the same URL. Members then click Connect, and each one signs in with their own phone number. A teammate who's a team member on your ZeroSettle account (team members come with Growth) reaches that account; anyone else gets a separate, empty one.

The catch: Duet isn't available on Team or Enterprise yet, and Anthropic says only "later." Today an Owner's connector gives your team ZeroSettle in Claude chat. To use ZeroSettle from Duet today, you need Duet on a personal Pro or Max plan (some Anthropic pages also list Ultra), and you add the connector to that account yourself.

What can't Duet do with ZeroSettle?

  • Answer customers in real time. Nothing documented wakes Duet when a text arrives: no webhook, event or API trigger. It checks every few hours and asks before sending. Your number's hosted agent or your own server does the answering.
  • Be texted by customers. You reach Duet only in its app or on claude.ai.
  • Pull texts into the brief through the connector. Scheduled runs reportedly can't reach custom connectors.
  • Use a static token. Header-based auth is beta for limited organizations.

The route that is documented runs through email. Your webhook receiver emails each inbound iMessage, or a daily digest, to a Gmail inbox connected to Claude, and Duet's brief and check-ins read it. Prefer Gmail over Slack: the help center says Slack "works with limits" in Duet. It can be hours behind, so it's a briefing, not an alert. See a morning brief of customer texts and reviewing and drafting replies in Duet.

Limits, consent and cost

ZeroSettle's limits apply no matter what does the sending. On Pro, a number opens 5 new contacts a day; people who text you first, and ongoing conversations, don't count. Growth includes 25+ new outbound contacts a day for the starting number. Each number gets up to 10,000 messages a day, sent and received, with known contacts, and at most 2 messages to someone who hasn't replied. A reply whose whole message or first sentence is STOP or a listed opt-out phrase, such as "unsubscribe", opts the sender out of every number on the account. Only text people who asked to hear from you: cold messaging gets a line suspended. See iMessage and TCPA consent.

ZeroSettle Pro is $49 a month for one number, month to month, with no setup fee and a 30-day money-back guarantee. Growth starts at $199/month for one dedicated number, with 25+ new outbound contacts a day, and a Pro account can upgrade in the console. If your team needs several numbers working as one, multi-number Growth terms are agreed in an operator-priced invite; talk to us. Enterprise is custom pricing through sales for high volume and compliance needs. Details are in ZeroSettle pricing and which plan is right for you. Duet is included in eligible Claude plans during the preview, but it draws on the same five-hour and weekly limits, background work included. Duet's iOS app also sells Claude usage-credit packs (separate from ZeroSettle credits): 20 for $20, 50 for $45 and 250 for $200.

Troubleshooting

Symptoms and fixes
SymptomLikely causeFix
Duet says it has no ZeroSettle toolsThe connector is switched off, or Duet doesn't reach custom connectors for youCheck that it's on under Customize → Connectors and works in a regular chat. If it does and Duet still can't see it, use Claude chat for ZeroSettle.
Sign-in loops or failsPossibly the published-identity OAuth option, which ZeroSettle doesn't advertiseRemove the connector and add it again with Register automatically
Tools say there's no active numberSign-up or payment isn't finishedRun the Step 3 prompt; open the subscribe link and pay
Customers get answers you didn't writeThe hosted AI agent manages the numberEdit its business context, or set_agent with managed_by: "api"
429 new_contact_limitToday's new contacts are used up; the connector returns the same HTTP 429 as the REST APIWait error.retry_after_s, or upgrade to Growth
403 awaiting_reply2 messages already sent to someone who hasn't repliedWait for them to reply

Setting up Claude Code or Cursor instead? See connect Claude Code or Cursor to an iMessage number. Deciding between Duet and the hosted agent? Read Claude Duet vs ZeroSettle's hosted AI agent.

Frequently asked questions

Do I add the ZeroSettle connector inside the Claude Duet app?

No. Duet has no connector setup of its own. You add ZeroSettle to your Claude account on claude.ai, under Customize > Connectors > Add custom connector, with the URL https://portal.zerosettle.io/mcp. Anthropic says apps connected to your Claude account carry over to Duet. Its Duet pages don't mention custom connectors or MCP, so test with a read-only call first.

Can Claude Duet text my customers?

Not by itself: Anthropic's help center says Duet doesn't send text messages to other people. With the ZeroSettle connector, Duet may be able to call send_imessage in a live chat, but Anthropic hasn't confirmed that Duet can use custom connectors or that its approval step covers MCP tool calls. Test by texting your own number first, and only message people who agreed to hear from you.

Will Duet's morning brief include my iMessages?

Don't count on it through the connector. The one hands-on report, from Every on October 21, 2026, says Duet's scheduled runs can't reach custom connectors. The documented route is email: have your webhook receiver send each inbound iMessage, or a daily digest, to a Gmail inbox connected to Claude, which Duet's brief and check-ins read.

Can I use a static ZeroSettle API token instead of signing in?

Claude's request-header option, which would carry a static bearer token, is in beta for a limited set of organizations. For almost everyone the path is OAuth: choose Sign in now and Register automatically, then sign in with your phone number and an SMS code. Keep static ZeroSettle tokens for your own server and headless jobs.

Does this work on Claude Team or Enterprise?

An Owner can add the connector for the organization under Organization settings > Connectors > Add > Custom > Web, and members then connect it for Claude chat. Duet itself isn't available on Team or Enterprise yet, as of November 4, 2026. It's a US waitlist for Pro and Max; Anthropic's announcement, help center and product page also list Ultra.

What does it cost?

ZeroSettle Pro is $49 a month for one dedicated iMessage number, with a 30-day money-back guarantee. Growth starts at $199/month for one dedicated number, with 25+ new outbound contacts a day; multi-number Growth terms are agreed in an operator-priced invite. Enterprise is custom pricing through sales. Duet is included in eligible Claude plans during the research preview but uses the plan's usage limits.

Sources

  1. Introducing Claude Duet, Anthropic: plans, platforms, connected apps carrying over, morning brief, approvals. Checked November 4, 2026.
  2. Get started with Claude Duet, Claude help center: no Team or Enterprise, Slack limits, no texts to other people, usage limits. Checked November 4, 2026.
  3. Claude Duet product page, Anthropic. Checked November 4, 2026.
  4. Claude Duet safety, privacy, and security, Anthropic: approvals; connected apps carry over and switch off together. Checked November 4, 2026.
  5. How to use Link by Stripe with Claude Duet, Claude help center. Checked November 4, 2026.
  6. Use connectors to extend Claude's capabilities, Claude help center: custom connectors, the Free limit, web and Desktop vs mobile. Checked November 4, 2026.
  7. Add a connector that isn't in the directory, Claude docs: the add paths, Owner path, sign-in and OAuth client options, request headers, per-tool Blocked. Checked November 4, 2026.
  8. Claude release notes, October 21, 2026 entry. Checked November 4, 2026.
  9. Claude Duet on the App Store: approvals, usage-credit packs. Checked November 4, 2026.
  10. Vibe Check: Duet, Dan Shipper, Every, October 21, 2026: scheduled runs and custom connectors. Checked November 4, 2026.
  11. Anthropic opens Claude Duet preview, Superpower Daily. Checked November 4, 2026.
  12. claude-duet-bridge, a community project on GitHub. Checked November 4, 2026.
  13. LinkedIn MCP for Claude Duet, Zevari (vendor claim). Checked November 4, 2026.
  14. Connect your AI agent, MCP, AI agent and Errors, limits, and compliance, ZeroSettle iMessage API docs. Checked November 5, 2026.

Changelog

  • Updated for ZeroSettle's connector change: an agent may now text from the line itself, to your own number and to people who asked to hear from you.
  • Published.

Written by the ZeroSettle team. ZeroSettle is an iMessage API: a real phone number on real iMessage, running on Apple hardware we operate for you, that your code texts customers from and hears back on through a bearer token and signed webhooks.

Product facts on this page come from the ZeroSettle iMessage API docs as of November 5, 2026. Facts about Claude Duet come from Anthropic's pages and the reviews listed above, checked November 4, 2026; Duet is a research preview, so its menus, plans and limits may change. ZeroSettle is not affiliated with Anthropic. Northwind Bakery is fictional.

Text your customers from your own iMessage number

ZeroSettle gives your business its own phone number on real iMessage, running on Apple hardware we operate for you in a server facility. Your code sends with one API call and hears every reply on a signed webhook.

Pro is $49 a month with a 30-day money-back guarantee. Growth starts at $199/month for one dedicated number, with 25+ new outbound contacts a day. Enterprise is custom pricing.