Claude Desktop Third-Party API Setup Without Logging In: Full Guide

September 29, 2026 · By Taylor Yang

Claude Desktop now has a Third-party inference setting that keeps the Anthropic interface but sends the actual generation to an API you supply. Covers the Connection page field by field, Model discovery versus manual Model list, why Model ID and Display name are different things, which toggles to leave off, and the three problems people hit first.

The newer Claude Desktop has a feature called Third-party inference. What it does is simple: the interface is still the Claude client, but the step that actually generates the answer is handled by a third-party API you connect yourself.

🎯 The one-line version: this is not “use Claude Opus for free.” It is “Anthropic’s client plus someone else’s model.” The interface comes from Anthropic, and the answer quality depends on who you plugged in.

Its real value is this. You do not have to buy Claude Pro or Max, and you do not have to route requests through Anthropic’s own models. If you already have API credit with MiniMax, GLM, Kimi or a similar provider, you can point Claude Desktop straight at it. This article uses a MiniMax token plan as the example. The approach is the same for any service compatible with the Anthropic interface.

Claude Desktop 把模型请求发给第三方网关,最终由第三方模型生成回答
Claude Desktop 把模型请求发给第三方网关,最终由第三方模型生成回答

1. What you need before you start

Only two things:

  1. The newer Claude Desktop, with Developer Mode turned on. The path is Developer → Configure third-party inference.
  2. A Base URL and API key for a third-party model service. The Base URL is the entry address of the interface, and every request Claude Desktop makes afterwards goes there. MiniMax’s example address is https://api.minimax.cn/anthropic, and the key generally starts with sk-cp-.

The interface here has to be an Anthropic-compatible API, meaning a service that imitates the request and response format of Anthropic’s official interface. Only if the format matches can Claude Desktop talk to it directly.

2. First step: configure Connection

The Connection page decides exactly one thing: where Claude Desktop sends model requests, and under what identity it sends them.

With MiniMax or another compatible service, set Connection to Gateway, which is a middle address that forwards your requests for you, then fill in the fields one at a time.

1. What goes in each field

FieldMiniMax exampleWhat it does
ConnectionGatewayTells the client to route requests through a third-party inference gateway
Credential kindStatic API keyUses a fixed API key for authentication
Gateway base URLhttps://api.minimax.cn/anthropicThe Anthropic-compatible interface address of the third-party service
Gateway API keysk-cp-xxxxxxYour token plan key
Gateway auth schemebearerSends the key as Authorization: Bearer
Artifact preview iframe originLeave emptyCustom domain for Artifact / file previews. Regular users never need this
Custom inference headersLeave emptyOnly fill this if the provider requires extra request headers
Stream idle timeout300How long a streaming response may sit idle, in seconds

2. The API key field takes the key only

The most common mistake here is pasting the authentication prefix along with it. The correct form is:

sk-cp-xxxxxxxxxxxxxxxx

⚠️ Do not write Bearer sk-cp-xxxxxxxx. You already selected bearer in Gateway auth scheme, so the client builds Authorization: Bearer sk-cp-xxxxxxxx itself. Write the prefix twice and authentication fails.

3. Click Test connection once you have filled it in

There is a Test connection control at the top right of the Connection page. Click it. If you get a green line like this:

Inference — 1-token completion in 4323 ms · via static key

then three things are working: the Base URL is reachable, the API key passes authentication, and the client can get a single inference response through this gateway.

💡 The easily misunderstood part: a successful Test connection does not mean the setup is complete. It only proved the road is open. The model list is still a separate job.

Step two: configure Models

Models decides a different thing: which models appear in the client, and which model name gets handed to the gateway when a request goes out.

1. Model discovery: use it if it works, turn it off if it errors

With Model discovery on, Claude Desktop goes and calls the gateway’s model list endpoint itself, for example:

https://api.minimax.cn/anthropic/v1/models

In theory this is the least work. But a third-party interface does not always return a format the client fully expects, so you might see:

Gateway returned no usable models

That line does not mean the API is down. It only means the client could not parse the response into usable models. When you hit it, just turn off automatic discovery and fill the list in by hand instead of fighting it.

2. Model list: where the client’s model picker gets its entries

Models you add by hand show up directly in Claude Desktop’s model picker, and the first one is usually the default. Only two fields matter here: Model ID and Display name. They are not the same thing at all.

3. The difference between Model ID and Display name

Model ID 决定请求实际路由到哪个模型,Display name 只影响界面上的显示名称
Model ID 决定请求实际路由到哪个模型,Display name 只影响界面上的显示名称

1) Model ID is the real routing name

This is what goes into the body when the client sends a request:

{
  "model": "some-model-id"
}

Some Claude Desktop versions validate the format here and expect it to look like a Claude model route, such as claude-sonnet-4-5.

That creates a possible mismatch. Your third-party API only knows MiniMax-M3, but the client will only let you type claude-sonnet-4-5. Something has to translate between the two names:

claude-sonnet-4-5
        ↓
     Gateway(does the alias mapping)
        ↓
MiniMax-M3

So do not just check whether the client shows a red field. You also have to confirm that the provider accepts that route name, or offers model alias mapping. Without a mapping, the request fails anyway.

2) Display name is only for humans

It takes part in no request. It only changes what appears in the model picker. Write MiniMax-M3 if that is clearest to you.

Model ID = the route a request actually uses
Display name = the name people see

4. The tempting-looking toggles, leave them off for now

Most people never need to touch the remaining advanced settings.

FieldWhat it doesHow to set it generally
Default to 1M contextWhether to pick the 1M version by default when a model has both a normal and a 1M versionLeave off for now
Offer 1M-context variantAdds an extra 1M context entry for the current modelOnly turn it on if the provider explicitly supports it
Tier aliasMaps a third-party model onto Claude tiers like sonnet or opusLeave empty unless you need it
Show estimated costShows an estimated cost on the Usage pageRecommended: off
Network proxy / Proxy server URL / PAC URLRoutes the client through a proxyLeave empty if you need no proxy
Save Changes / Apply Changes / Discard ChangesSave, apply, or discard the current configurationAlways Apply after editing

1. The two 1M context toggles cannot conjure extra context

Default to 1M context means that if the same model exists in both a normal context version and a 1M context version, whether the client should prefer the latter by default. Offer 1M-context variant instead adds a 1M entry into the picker.

Both are only display and selection logic on the client side. They cannot give the backend more context. Unless the provider explicitly tells you this deployment accepts 1 million tokens of context, leave both off.

2. Tier alias: leave it empty if you have no need for it

Its job is to attach a Claude tier label to your model, such as sonnet or opus. Some client features may decide which tier a model belongs to based on that label.

If you connect MiniMax but want certain behaviors treated at the Sonnet tier, in theory you can type sonnet. But with no clear requirement, leaving it empty is safer. Do not fill something in just because it looks more advanced.

3. Show estimated cost: the number is probably wrong

Claude Desktop estimates spending using Anthropic’s pricing. But you are using MiniMax, and its plans, token prices, caching and credit rules all differ from Anthropic’s.

The result is: the amount looks very precise but is not the same thing as what you actually spend. Unless you have configured the correct price multiplier yourself, turning it off is less trouble.

4. Network Proxy: leave everything empty if you can already reach the API

If your computer can reach the third-party API as it is, leave these fields empty. Only fill in Proxy server URL on a company network, in a special proxy environment, or when you deliberately need Claude Desktop to go through an HTTP proxy, such as http://127.0.0.1:7890 or http://proxy.example.com:8080.

PAC URL (Proxy Auto-Config, a script file that automatically decides which requests go through a proxy) is mainly for corporate networks, and looks like http://example.com/proxy.pac. If you do not know what PAC is, you basically do not need it.

5. Always click Apply Changes when you are done

There are three buttons at the bottom: Discard Changes, Save Changes and Apply Changes.

Save Changes is more like storing the configuration. Apply Changes is what actually makes Claude Desktop run under this third-party inference configuration. Editing and only saving without applying is the reason many people think “my setup did not take effect.”

6. The three most common problems

You can follow the diagram below for troubleshooting order: confirm connectivity first, then the model list, then the route name.

从 Test connection 到 Apply Changes 的排查流程,以及每一步失败时该检查什么
从 Test connection 到 Apply Changes 的排查流程,以及每一步失败时该检查什么

1. Test connection succeeds but you cannot chat

Check Model ID first. A successful connection only proves the interface is usable. Actually chatting adds another layer of judgment: does the third-party API recognize the model name the client sends? If the two sides disagree, it fails the same way.

2. Gateway returned no usable models

Very common. Turn off Model discovery and fill in Model list by hand.

3. MiniMax-M3 gives an invalid Model ID format error

That means your version of the client validates the Model ID in Claude style. It accepts claude-sonnet-4-5 and rejects MiniMax-M3.

Note that changing Display name to MiniMax-M3 only changes the display name. The backend model does not follow. What actually has to be guaranteed is a correct mapping along this chain:

Claude Desktop Model ID
        ↓
third-party gateway
        ↓
the real MiniMax model

If the platform itself does not provide alias mapping, you need an additional compatibility gateway to convert the model names.

7. Who this method is for

If you like the Claude Desktop interface but do not want to buy Claude Max, and you already have API credit with MiniMax, GLM, Kimi or similar, then third-party inference is worth configuring once. After that you can treat Claude Desktop as a client for third-party AI models. When you switch providers later, what changes is mostly the Base URL, the API key, the authentication scheme and the model routing. You do not have to replace the client itself.

The whole flow in one line: Developer Mode → Third-party inference → Gateway → fill in the Base URL and API key → Test connection → configure the Model list → Apply Changes.

✅ Only two spots really go wrong, so verify each one after configuring:

  • Can it reach the interface at all? Check whether Test connection returns the green 1-token response.

  • Does the gateway recognize the Model ID? Check whether a real conversation returns normally.