Clients

Clients

Connect Claude Code, Codex, OpenCode, Grok Build, Hermes, Raycast, ChatGPT for Mac or DeepSeek Harness to OpenLLM, or any OpenAI or Anthropic client.

Each supported client has a command that connects it to OpenLLM. Most run per session and leave your own config alone; Raycast, the ChatGPT Mac app, and Hermes profiles are persistent and come with a command to undo them.

ClientCommandHow it connectsGuide
Claude Codeopenllm claudePer session: run-local --settings and --mcp-configClaude Code
Codexopenllm codexPer session: -c overrides on your configCodex
OpenCodeopenllm opencodePer session: merged config file via OPENCODE_CONFIGOpenCode
Grok Buildopenllm grokPer session: private GROK_HOME over your ~/.grokGrok Build
Hermesopenllm hermesPer session, or a sticky profile with openllm hermes installHermes
Raycastopenllm raycastPersistent: provider block in providers.yamlRaycast
ChatGPT for Macopenllm chatgptPersistent: an OpenLLM ChatGPT launcher appChatGPT for Mac
DeepSeek Harnessdsh plugin --profile web add github:openllmsh/dshPersistent: a bundle in a dsh profile, through the local daemonDeepSeek Harness

The openllm commands need the OpenLLM CLI. See Install.

How the launchers work

  • The gateway is chosen at launch. If your local daemon answers on http://127.0.0.1:8787, the client talks to it. Otherwise it talks to https://www.openllm.sh. Persistent setups (Raycast and the Hermes profile) keep the address from when you ran the command.

  • Arguments pass through. Everything after the client name goes to the client unchanged, so openllm claude --resume behaves like claude --resume.

  • OpenLLM's flags go first. Put them before the client name:

    FlagWhat it does
    -dAdds the client's own skip-approvals flag. Fails on clients that have none.
    --newAlways starts a new session instead of offering to attach to a running one.
    --attach [id]Attaches to a running session on this machine without asking.
  • Models map to aliases. Each client defaults to ultra, and plus and lite are available everywhere. Most clients also list every model you have activated; OpenLLM configures only the three aliases for Hermes and DeepSeek Harness. Change what the aliases mean in Configuration. See Routing and fallback.

  • Tools come along. Every launcher adds the OpenLLM MCP server, except Raycast. See MCP server.

The gateway is chosen at each launch; everything after the client name goes to the client.

Who pays for a request

Every client sends requests to OpenLLM with your sk-llm key. Which account pays depends on the model that serves the request:

ModelWho pays
A subscription model, such as Claude Code or Codex on your own planYour subscription, through the daemon on one of your devices
An API-key modelYour account with that provider
A local model, such as OllamaRuns on your own machine, through the daemon
An included openllm/ modelOpenLLM, up to your plan's monthly allowance

Aliases such as ultra are fallback chains, so one request can try more than one of these. On the Free plan, a monthly token cap also applies. See Providers, Included models, and Plans and limits.

Don't see your tool?

Anything that speaks the OpenAI or Anthropic API can use OpenLLM with a base URL and your key. See Any OpenAI or Anthropic client. For MCP-only tools, see MCP server.

Last updated on

On this page