SwiftRelay

← All sprint notes

Claude Desktop Custom Endpoint: Check These First

Agent quick startsEN

Before changing configuration files, establish what you want your custom endpoint to do: serve model requests, expose tools, or support a separate coding client. Work through these checks in order, keeping each test small and changing one setting at a time.

1. Identify the Claude Desktop surface you are configuring

Record your desktop app version and whether you are using Chat, Cowork, or the Code tab. For Code sessions, run /status to identify the embedded Claude Code version. Desktop maintains its own copy, so updating the terminal CLI does not update the Code tab. Keep those versions separate in your troubleshooting notes. ([code.claude.com](https://code.claude.com/docs/en/desktop))

2. Separate an MCP connector from a model endpoint

An MCP connector gives Claude access to tools and data; it is not the same thing as configuring inference through an API gateway. Anthropic documents local MCP servers as integrations with external tools and data sources, while gateway routing has separate configuration. Do not paste a model API host into a connector field and expect it to replace the model backend. ([support.claude.com](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop?utm_source=openai))

Write down the intended request path before proceeding: the desktop application, the gateway, and the model provider. If you also need a tool server, document that as a separate connection.

3. Use Desktop’s third-party inference configuration

Desktop reads gateway routing from its third-party inference configuration, not ordinary ANTHROPIC_BASE_URL exports or Claude Code settings files. On an unmanaged device, open Help → Troubleshooting → Enable Developer Mode, then Developer → Configure Third-Party Inference. An administrator-distributed configuration takes precedence and makes the local form read-only. ([code.claude.com](https://code.claude.com/docs/en/llm-gateway-connect))

If the controls are unavailable or locked, stop editing unrelated files. Ask your administrator which deployment configuration applies. Treat terminal CLI configuration as a separate test, not proof that Desktop received the same settings.

4. Match the API format before adjusting the host

A reachable server is not enough: the gateway must expose an API format supported by the client. Anthropic’s gateway documentation distinguishes supported inference formats and notes that gateway compatibility must keep pace with Claude Code features. An OpenAI-compatible interface alone does not establish Claude Code compatibility. ([code.claude.com](https://code.claude.com/docs/en/llm-gateway))

SwiftRelay is a practical option for testing through its supported Claude Code integration or an OpenAI-compatible SDK. Its API host is api.fastapirelay.com, using HTTPS. Claude Code and Gemini CLI take the bare host; OpenAI SDKs add /v1. These are client-specific settings, not interchangeable Desktop configuration instructions.

Confirm SwiftRelay’s requirements for your exact Desktop deployment before assuming its Claude Code support covers the desktop interface.

5. Verify credentials without exposing the key

For a separate Claude Code CLI test, match the credential variable to the gateway’s authentication scheme: ANTHROPIC_AUTH_TOKEN sends an Authorization bearer token, while ANTHROPIC_API_KEY sends an x-api-key header. Run /status to confirm the active credential source. Do not assume a saved login authenticates your relay request. ([code.claude.com](https://code.claude.com/docs/en/llm-gateway-connect))

Keep secrets out of screenshots, shared configuration files, and support messages. Record only the credential source and a redacted identifier. For Desktop, follow the credential workflow required by its third-party inference configuration rather than copying terminal variables blindly.

6. Test one model and confirm the actual destination

Choose one available model, such as Claude Haiku 4.5, and copy its exact API identifier from the relay rather than deriving it from the display name. Send a short, non-sensitive prompt. Record the selected model, request time, response, and any request identifier.

Compare that test with the gateway’s request records, where available. Treat a successful answer as incomplete evidence until you confirm the intended destination. Save a redacted error response before changing another setting.

7. Check token charges before expanding the workload

Start with a small test budget and inspect the recorded token usage before enabling longer conversations or tool-heavy tasks. SwiftRelay uses pay-as-you-go, per-token billing, and new accounts receive a small gift credit. Sign up for SwiftRelay to test a supported client with a minimal request first.

Keep the working configuration documented: client version, configuration location, API format, host convention, credential source, and model identifier. That gives your next troubleshooting session a reproducible starting point.

Keep reading

Back for another lap?Log in