> ## Documentation Index
> Fetch the complete documentation index at: https://docs.llmeasy.ru/llms.txt
> Use this file to discover all available pages before exploring further.

# CC Switch LLMEasy setup guide

> Connect LLMEasy to CC Switch and manage Claude Code, Codex CLI, OpenCode, and OpenClaw in one place.

CC Switch is a cross-platform desktop app for managing providers across Claude Code, Codex, OpenCode, and OpenClaw. This page shows you how to connect LLMEasy to CC Switch for the four LLMEasy paths already covered in this docs site: Claude Code, Codex, OpenCode, and OpenClaw.

## Install CC Switch

<Tabs>
  <Tab title="macOS">
    Homebrew is the easiest option. You can also download the latest `.dmg` or `.zip` from [GitHub Releases](https://github.com/farion1231/cc-switch/releases).

    ```bash theme={null}
    brew tap farion1231/ccswitch
    brew install --cask cc-switch
    ```
  </Tab>

  <Tab title="Windows">
    Download the latest `CC-Switch-v{version}-Windows.msi` installer or the portable `.zip` build from [GitHub Releases](https://github.com/farion1231/cc-switch/releases).
  </Tab>

  <Tab title="Linux">
    Download the latest `.deb`, `.rpm`, or `.AppImage` build from [GitHub Releases](https://github.com/farion1231/cc-switch/releases).
  </Tab>
</Tabs>

## What to prepare

* LLMEasy API Key (<a href={"https://www.llmeasy.ru/register"}>register here</a>)
* Claude Code uses the Anthropic protocol, so its `Base URL` is `https://www.llmeasy.ru`
* Codex, OpenCode, and OpenClaw use the OpenAI-compatible protocol, so their `Base URL` is `https://www.llmeasy.ru/v1`
* Prepare one current **GPT Key group** model ID for Codex, OpenCode, and OpenClaw. You can copy it from the <a href={"https://www.llmeasy.ru/pricing"}>LLMEasy model plaza</a>, or let CC Switch fetch it from `/v1/models`

<Info>
  On first launch, CC Switch automatically imports the configs it already finds on your machine. You can keep your official provider as a fallback and add LLMEasy alongside it.
</Info>

<Note>
  LLMEasy uses two access modes: Anthropic and OpenAI-compatible. To avoid mixing `https://www.llmeasy.ru` with `https://www.llmeasy.ru/v1`, it is better to create providers per app instead of trying to force Claude Code and the OpenAI-compatible tools into one universal provider.
</Note>

## Add a LLMEasy provider

<Tabs>
  <Tab title="Claude Code" id="claude-code">
    <Steps>
      <Step title="Open Claude Code in CC Switch and add a provider">
        Open CC Switch, switch to **Claude Code**, and click **Add Provider**.

        <Frame>
          <img src="https://mintcdn.com/bettertoken/3Irzp0wIG1eGzGGI/images/cc-switch/claude-code-add-provider.png?fit=max&auto=format&n=3Irzp0wIG1eGzGGI&q=85&s=caf1f2ad7dfadf9d362e1556e1393c07" alt="The Claude Code page in CC Switch, with the add button in the top-right corner used to create a new provider." style={{ borderRadius: '0.5rem' }} width="2000" height="1792" data-path="images/cc-switch/claude-code-add-provider.png" />
        </Frame>
      </Step>

      <Step title="Fill the basic fields">
        * **Provider Name**: `LLMEasy`
        * **Base URL**: `https://www.llmeasy.ru`
        * **API Key**: your LLMEasy API Key

        The numbered markers in the screenshot match these fields:

        1. **Provider Name**
        2. **API Key**
        3. **Base URL**

        <Frame>
          <img src="https://mintcdn.com/bettertoken/ejT8e_A0sPBKAOtG/images/cc-switch/claude-code-basic-fields.png?fit=max&auto=format&n=ejT8e_A0sPBKAOtG&q=85&s=3f85334a096631b00c382cee762e6833" alt="The provider edit page in CC Switch, showing where to enter Provider Name, API Key, and Base URL." style={{ borderRadius: '0.5rem' }} width="2000" height="1898" data-path="images/cc-switch/claude-code-basic-fields.png" />
        </Frame>
      </Step>

      <Step title="Handle model mapping based on your Key group">
        * If you use the **Claude Key group**, you usually do not need to change the advanced options or model mapping
        * If you use the **GPT Key group**, complete the extra setup below:

        1. Open **Advanced Options**
        2. Set **API Format** to **OpenAI Responses API**

        <Frame>
          <img src="https://mintcdn.com/bettertoken/ejT8e_A0sPBKAOtG/images/cc-switch/claude-code-api-format.png?fit=max&auto=format&n=ejT8e_A0sPBKAOtG&q=85&s=d7e1ffea7af3dcbef90c5b22e7231731" alt="The advanced options section in CC Switch, with API Format set to OpenAI Responses API." style={{ borderRadius: '0.5rem' }} width="2000" height="1792" data-path="images/cc-switch/claude-code-api-format.png" />
        </Frame>

        3. In **Model Mapping**, click **Fetch Model List**
        4. Explicitly choose values from the dropdowns for **Primary Model**, **Thinking Model**, **Haiku Default Model**, **Sonnet Default Model**, and **Opus Default Model**

        <Frame>
          <img src="https://mintcdn.com/bettertoken/3Irzp0wIG1eGzGGI/images/cc-switch/claude-code-model-mapping.png?fit=max&auto=format&n=3Irzp0wIG1eGzGGI&q=85&s=edb9324ade4ee810882017e08b14d051" alt="The model mapping section in CC Switch, showing Fetch Model List and the mappings for Primary, Thinking, Haiku, Sonnet, and Opus models." style={{ borderRadius: '0.5rem' }} width="2000" height="1792" data-path="images/cc-switch/claude-code-model-mapping.png" />
        </Frame>

        All of these models should use current **GPT Key group** model IDs from the <a href={"https://www.llmeasy.ru/pricing"}>LLMEasy model plaza</a>.
      </Step>

      <Step title="Save, switch, and decide whether to enable the proxy">
        After saving, go back to the provider list:

        1. Mark the LLMEasy provider as the active one
        2. If you use the **Claude Key group**, you do not need to enable the **CC Switch proxy** from the top-left corner
        3. If you use the **GPT Key group**, enable the **CC Switch proxy**

        The screenshot below shows the `GPT` case where the proxy needs to be enabled.

        <Frame>
          <img src="https://mintcdn.com/bettertoken/ejT8e_A0sPBKAOtG/images/cc-switch/claude-code-enable-proxy.png?fit=max&auto=format&n=ejT8e_A0sPBKAOtG&q=85&s=c5f366dd894c2e9d4d2df912f6f014c1" alt="After saving, return to the provider list, set LLMEasy as active, and enable the CC Switch proxy toggle in the top-left corner." style={{ borderRadius: '0.5rem' }} width="2000" height="1792" data-path="images/cc-switch/claude-code-enable-proxy.png" />
        </Frame>
      </Step>
    </Steps>
  </Tab>

  <Tab title="Codex" id="codex-cli">
    <Steps>
      <Step title="Open Codex in CC Switch and add a provider">
        Open CC Switch, switch to **Codex**, and click **Add Provider**. If CC Switch asks you to choose a preset first, prefer **OpenAI Compatible** or **Custom**.

        The numbered markers in the screenshot match these actions:

        1. Switch to **Codex**
        2. Click **Add Provider** in the top-right corner

        <Frame>
          <img src="https://mintcdn.com/bettertoken/3Irzp0wIG1eGzGGI/images/cc-switch/codex-cli-add-provider.png?fit=max&auto=format&n=3Irzp0wIG1eGzGGI&q=85&s=0e9e9c2707ba247ec1cc2c03282a0434" alt="The Codex page in CC Switch, with Codex selected at the top and the add button in the top-right corner used to create a new provider." style={{ borderRadius: '0.5rem' }} width="1800" height="1532" data-path="images/cc-switch/codex-cli-add-provider.png" />
        </Frame>
      </Step>

      <Step title="Fill the basic fields">
        * **Provider Name**: `LLMEasy`
        * **Base URL**: `https://www.llmeasy.ru/v1`
        * **API Key**: your LLMEasy API Key

        If you switch to a custom config view, make sure the underlying config uses `wire_api = "responses"`.

        The numbered markers in the screenshot match these fields:

        1. **Provider Name**
        2. **API Key**
        3. **Base URL**

        <Frame>
          <img src="https://mintcdn.com/bettertoken/ejT8e_A0sPBKAOtG/images/cc-switch/codex-cli-basic-fields.png?fit=max&auto=format&n=ejT8e_A0sPBKAOtG&q=85&s=331e600261e27c90aaf1976933e3a3c0" alt="The Codex provider edit page in CC Switch, showing where to enter Provider Name, API Key, and Base URL." style={{ borderRadius: '0.5rem' }} width="1800" height="1532" data-path="images/cc-switch/codex-cli-basic-fields.png" />
        </Frame>
      </Step>

      <Step title="Choose the default model">
        Click **Fetch Models** first. CC Switch uses your configured API key to call `/v1/models`, then shows the available models in grouped dropdowns.

        If no models are returned, paste a current **GPT Key group** model ID manually.

        The numbered markers in the screenshot match these actions:

        1. Click **Fetch Model List**
        2. Choose the model you want from the dropdown

        <Frame>
          <img src="https://mintcdn.com/bettertoken/ejT8e_A0sPBKAOtG/images/cc-switch/codex-cli-select-model.png?fit=max&auto=format&n=ejT8e_A0sPBKAOtG&q=85&s=d607c21558d1d5614971661e178ab54b" alt="The Codex provider edit page in CC Switch, showing the Fetch Model List button and the model dropdown selector." style={{ borderRadius: '0.5rem' }} width="1800" height="1686" data-path="images/cc-switch/codex-cli-select-model.png" />
        </Frame>
      </Step>

      <Step title="Save and switch">
        Save the provider and switch Codex to LLMEasy. CC Switch writes the corresponding Codex auth and config files for you.

        After saving, return to the list and confirm that the LLMEasy entry is marked as **In Use**.

        <Frame>
          <img src="https://mintcdn.com/bettertoken/ejT8e_A0sPBKAOtG/images/cc-switch/codex-cli-activate-provider.png?fit=max&auto=format&n=ejT8e_A0sPBKAOtG&q=85&s=5c641303d5024fa15e65315c7238c793" alt="The Codex provider list in CC Switch, with LLMEasy selected and marked as in use." style={{ borderRadius: '0.5rem' }} width="1800" height="1686" data-path="images/cc-switch/codex-cli-activate-provider.png" />
        </Frame>
      </Step>

      <Step title="Optional: change the provider label shown in Codex App">
        If you want the provider label in the bottom-right corner of the Codex App chat box to be easier to distinguish, change the `name` field in the config to the label you want to show, for example `llmeasy`.

        This value also controls the provider name shown inside Codex App.

        <Frame>
          <img src="https://mintcdn.com/bettertoken/ejT8e_A0sPBKAOtG/images/cc-switch/codex-cli-provider-name.png?fit=max&auto=format&n=ejT8e_A0sPBKAOtG&q=85&s=b03280946a49fe7010e055451967d32f" alt="The generated Codex config with the name field under model_providers.custom highlighted, alongside the provider label highlighted in the bottom-right corner of the Codex App chat box." style={{ borderRadius: '0.5rem' }} width="3836" height="2096" data-path="images/cc-switch/codex-cli-provider-name.png" />
        </Frame>
      </Step>
    </Steps>
  </Tab>

  <Tab title="OpenCode" id="opencode">
    <Steps>
      <Step title="Open OpenCode in CC Switch and add a provider">
        Open CC Switch, switch to **OpenCode**, and click **Add Provider**. If CC Switch asks for a preset first, prefer **OpenAI Compatible** or **Custom**.
      </Step>

      <Step title="Fill the basic fields">
        * **Provider Name**: `LLMEasy`
        * **Base URL**: `https://www.llmeasy.ru/v1`
        * **API Key**: your LLMEasy API Key
      </Step>

      <Step title="Choose the default model">
        Use **Fetch Models** when possible. If you need to enter the model manually, use a current **GPT Key group** model ID from the <a href={"https://www.llmeasy.ru/pricing"}>LLMEasy model plaza</a>.
      </Step>

      <Step title="Save and switch">
        Save the provider and switch OpenCode to LLMEasy.
      </Step>
    </Steps>
  </Tab>

  <Tab title="OpenClaw" id="openclaw">
    <Steps>
      <Step title="Open OpenClaw in CC Switch and add a provider">
        Open CC Switch, switch to **OpenClaw**, and click **Add Provider**. If CC Switch asks for a preset first, prefer **OpenAI Compatible** or **Custom**.
      </Step>

      <Step title="Fill the basic fields">
        * **Provider Name**: `LLMEasy`
        * **Base URL**: `https://www.llmeasy.ru/v1`
        * **API Key**: your LLMEasy API Key

        If you are editing a custom OpenClaw provider config, make sure `api` is set to `openai-responses`.
      </Step>

      <Step title="Choose the default model">
        Use **Fetch Models** when possible. If you need to enter the model manually, use a current **GPT Key group** model ID.
      </Step>

      <Step title="Save and switch">
        Save the provider and switch OpenClaw to LLMEasy.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Make saved changes take effect

After saving and switching providers, restart the affected client or gateway before verifying the setup.

* Claude Code: quit the current Claude Code session completely, then start it again.
* Codex: restart the current Codex process or open a new terminal session.
* OpenCode: quit the current OpenCode session and start it again.
* OpenClaw: run `openclaw gateway restart`, then use `/new`, `/status`, and `/model` in Discord.

## Common issues

* Do not add `/v1` to the Claude Code `Base URL`
* When Claude Code uses the **GPT Key group**, set **API Format** to **OpenAI Responses API** under **Advanced Options**
* When Claude Code uses the **Claude Key group**, you do not need to enable the **CC Switch proxy**
* Codex, OpenCode, and OpenClaw should use `https://www.llmeasy.ru/v1`
* Use a **GPT Key group** model ID as the default model for Codex, OpenCode, and OpenClaw
* If **Fetch Models** fails, check the API key and `Base URL`, then paste the model ID manually
* If switching does not take effect, confirm that LLMEasy is the active provider in CC Switch and restart the affected client or gateway as described above

## Related pages

* Claude Code details: [Claude Code](/en/ai-tools/claude-code)
* Codex details: [Codex](/en/ai-tools/codex)
* OpenCode details: [OpenCode](/en/ai-tools/opencode)
* OpenClaw details: [OpenClaw](/en/ai-tools/openclaw)

## Related FAQ

* [OpenAI-compatible API vs Anthropic-compatible API](/en/faq/concepts/openai-compatible-vs-anthropic-compatible)
* [MCP vs API Key and Base URL](/en/faq/concepts/mcp-vs-api-key-base-url)
* [What are model\_provider, base\_url, and wire\_api?](/en/faq/codex/model-provider-base-url-wire-api)
* [How to configure an OpenAI-compatible API in Cline](/en/faq/cline/openai-compatible-api)
