Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aradotso avatar

Openclaude Multi Llm

  • 665 installs
  • 66 repo stars
  • Updated July 9, 2026
  • aradotso/trending-skills

openclaude-multi-llm is an agent skill that runs Claude Code's complete tool system with any OpenAI-compatible model for developers who want GPT-4o, DeepSeek, Gemini, Ollama, or Groq behind Claude Code workflows.

About

openclaude-multi-llm is an agent skill for OpenClaude, a fork of Claude Code that routes all LLM calls through an OpenAI-compatible API via environment variable configuration. The skill supports GPT-4o, DeepSeek, Gemini, Ollama, Groq, and 200+ models while preserving Claude Code's full tool system. Triggers include use Claude Code with OpenAI, run Claude Code with a different model, and connect Gemini to Claude Code. Developers reach for openclaude-multi-llm when they want Claude Code's agent tools and workflows but need to swap the underlying model provider for cost, locality, or capability reasons.

  • Routes all LLM calls through an OpenAI-compatible shim while preserving every Claude Code tool (Bash, FileRead, FileWrit
  • Supports 200+ models including GPT-4o, DeepSeek, Gemini via OpenRouter, Ollama, Groq, Mistral and Azure
  • One-command global install via npm with openclaude CLI
  • Works with environment variable configuration for instant model switching
  • Full compatibility with Claude Code workflows without rewriting prompts or tool calls

Openclaude Multi Llm by the numbers

  • 665 all-time installs (skills.sh)
  • +11 installs in the week ending Jul 6, 2026 (Skillselion tracking)
  • Ranked #1,439 of 16,659 AI & Agent Building skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Jul 19, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aradotso/trending-skills --skill openclaude-multi-llm

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs665
repo stars66
Security audit1 / 3 scanners passed
Last updatedJuly 9, 2026
Repositoryaradotso/trending-skills

How do you run Claude Code tools with another LLM?

Run Claude Code's complete tool system with any OpenAI-compatible model such as GPT-4o, DeepSeek, Gemini, Ollama or Groq.

Who is it for?

Developers who want Claude Code's agent tool system backed by OpenAI-compatible models like GPT-4o, Ollama, or DeepSeek.

Skip if: Teams using only native Anthropic Claude API with no need to swap LLM providers behind agent tools.

When should I use this skill?

A user wants Claude Code with OpenAI, Ollama, DeepSeek, Gemini, Groq, or another OpenAI-compatible provider.

What you get

OpenClaude environment configuration routing Claude Code tools to a chosen OpenAI-compatible provider.

  • OpenClaude provider configuration

By the numbers

  • Supports 200+ OpenAI-compatible models via environment configuration

Files

SKILL.mdMarkdownGitHub ↗

OpenClaude Multi-LLM Skill

Skill by ara.so — Daily 2026 Skills collection.

OpenClaude is a fork of Claude Code that routes all LLM calls through an OpenAI-compatible shim (openaiShim.ts), letting you use any model that speaks the OpenAI Chat Completions API — GPT-4o, DeepSeek, Gemini via OpenRouter, Ollama, Groq, Mistral, Azure, and more — while keeping every Claude Code tool intact (Bash, FileRead, FileWrite, FileEdit, Glob, Grep, WebFetch, Agent, MCP, Tasks, LSP, NotebookEdit).

---

Installation

npm (recommended)

npm install -g @gitlawb/openclaude
# CLI command installed: openclaude

From source (requires Bun)

git clone https://node.gitlawb.com/z6MkqDnb7Siv3Cwj7pGJq4T5EsUisECqR8KpnDLwcaZq5TPr/openclaude.git
cd openclaude
bun install
bun run build
# optionally link globally
npm link

Run without build

bun run dev       # run directly with Bun, no build step

---

Activation — Required Environment Variables

You must set CLAUDE_CODE_USE_OPENAI=1 to enable the shim. Without it, the tool falls back to the Anthropic SDK.

VariableRequiredPurpose
CLAUDE_CODE_USE_OPENAIYesSet to 1 to activate OpenAI provider
OPENAI_API_KEYYes*API key (*omit for local Ollama/LM Studio)
OPENAI_MODELYesModel identifier
OPENAI_BASE_URLNoCustom endpoint (default: https://api.openai.com/v1)
CODEX_API_KEYCodex onlyChatGPT/Codex access token
CODEX_AUTH_JSON_PATHCodex onlyPath to Codex CLI auth.json

OPENAI_MODEL takes priority over ANTHROPIC_MODEL if both are set.

---

Provider Configuration Examples

OpenAI

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_API_KEY=$OPENAI_API_KEY
export OPENAI_MODEL=gpt-4o
openclaude

DeepSeek

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_API_KEY=$DEEPSEEK_API_KEY
export OPENAI_BASE_URL=https://api.deepseek.com/v1
export OPENAI_MODEL=deepseek-chat
openclaude

Google Gemini (via OpenRouter)

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_API_KEY=$OPENROUTER_API_KEY
export OPENAI_BASE_URL=https://openrouter.ai/api/v1
export OPENAI_MODEL=google/gemini-2.0-flash
openclaude

Ollama (local, no API key needed)

ollama pull llama3.3:70b

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_MODEL=llama3.3:70b
openclaude

Groq

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_API_KEY=$GROQ_API_KEY
export OPENAI_BASE_URL=https://api.groq.com/openai/v1
export OPENAI_MODEL=llama-3.3-70b-versatile
openclaude

Mistral

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_API_KEY=$MISTRAL_API_KEY
export OPENAI_BASE_URL=https://api.mistral.ai/v1
export OPENAI_MODEL=mistral-large-latest
openclaude

Azure OpenAI

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_API_KEY=$AZURE_OPENAI_KEY
export OPENAI_BASE_URL=https://your-resource.openai.azure.com/openai/deployments/your-deployment/v1
export OPENAI_MODEL=gpt-4o
openclaude

Codex (ChatGPT backend)

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_MODEL=codexplan   # or codexspark for faster loops
# reads ~/.codex/auth.json automatically if present
# or set: export CODEX_API_KEY=$CODEX_TOKEN
openclaude

LM Studio (local)

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_BASE_URL=http://localhost:1234/v1
export OPENAI_MODEL=your-model-name
openclaude

Together AI

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_API_KEY=$TOGETHER_API_KEY
export OPENAI_BASE_URL=https://api.together.xyz/v1
export OPENAI_MODEL=meta-llama/Llama-3.3-70B-Instruct-Turbo
openclaude

---

Architecture — How the Shim Works

The shim file is src/services/api/openaiShim.ts (724 lines). It duck-types the Anthropic SDK interface so the rest of Claude Code is unaware it's talking to a different provider.

Claude Code Tool System
        │
        ▼
Anthropic SDK interface (duck-typed)
        │
        ▼
openaiShim.ts  ← format translation layer
        │
        ▼
OpenAI Chat Completions API
        │
        ▼
Any compatible model

What the shim translates

  • Anthropic message content blocks → OpenAI messages array
  • Anthropic tool_use / tool_result blocks → OpenAI function_calls / tool messages
  • OpenAI SSE streaming chunks → Anthropic stream events
  • Anthropic system prompt arrays → OpenAI system role messages

Files changed from upstream

src/services/api/openaiShim.ts   ← NEW: the shim (724 lines)
src/services/api/client.ts       ← routes to shim when CLAUDE_CODE_USE_OPENAI=1
src/utils/model/providers.ts     ← added 'openai' provider type
src/utils/model/configs.ts       ← added openai model mappings
src/utils/model/model.ts         ← respects OPENAI_MODEL for defaults
src/utils/auth.ts                ← recognizes OpenAI as valid 3rd-party provider

---

Developer Workflow — Key Commands

# Run in dev mode (no build)
bun run dev

# Build distribution
bun run build

# Launch with persisted profile (.openclaude-profile.json)
bun run dev:profile

# Launch with OpenAI profile (requires OPENAI_API_KEY in shell)
bun run dev:openai

# Launch with Ollama profile (localhost:11434, llama3.1:8b default)
bun run dev:ollama

# Launch with Codex profile
bun run dev:codex

# Quick startup sanity check
bun run smoke

# Validate provider env + reachability
bun run doctor:runtime

# Machine-readable runtime diagnostics
bun run doctor:runtime:json

# Persist diagnostics report to reports/doctor-runtime.json
bun run doctor:report

# Full local hardening check (typecheck + smoke + runtime doctor)
bun run hardening:check

# Strict hardening (includes project-wide typecheck)
bun run hardening:strict

---

Profile Bootstrap — One-Time Setup

Profiles save provider config to .openclaude-profile.json so you don't repeat env exports.

# Auto-detect provider (ollama if running, otherwise openai)
bun run profile:init

# Bootstrap for OpenAI
bun run profile:init -- --provider openai --api-key $OPENAI_API_KEY

# Bootstrap for Ollama with custom model
bun run profile:init -- --provider ollama --model llama3.1:8b

# Bootstrap for Codex
bun run profile:init -- --provider codex --model codexspark
bun run profile:codex

After bootstrapping, run the app via the persisted profile:

bun run dev:profile

---

TypeScript Integration — Using the Shim Directly

If you want to use the shim in your own TypeScript code:

// src/services/api/client.ts pattern — routing to the shim
import { openaiShim } from './openaiShim.js';

const useOpenAI = process.env.CLAUDE_CODE_USE_OPENAI === '1';

const client = useOpenAI
  ? openaiShim({
      apiKey: process.env.OPENAI_API_KEY,
      baseURL: process.env.OPENAI_BASE_URL ?? 'https://api.openai.com/v1',
      model: process.env.OPENAI_MODEL ?? 'gpt-4o',
    })
  : new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });
// Streaming usage pattern (mirrors Anthropic SDK interface)
const stream = await client.messages.stream({
  model: process.env.OPENAI_MODEL!,
  max_tokens: 32000,
  system: 'You are a helpful coding assistant.',
  messages: [
    { role: 'user', content: 'Refactor this function for readability.' }
  ],
  tools: myTools, // Anthropic-format tool definitions — shim translates them
});

for await (const event of stream) {
  // events arrive in Anthropic format regardless of underlying provider
  if (event.type === 'content_block_delta') {
    process.stdout.write(event.delta.text ?? '');
  }
}

---

Model Quality Reference

ModelTool CallingCode QualitySpeed
GPT-4oExcellentExcellentFast
DeepSeek-V3GreatGreatFast
Gemini 2.0 FlashGreatGoodVery Fast
Llama 3.3 70BGoodGoodMedium
Mistral LargeGoodGoodFast
GPT-4o-miniGoodGoodVery Fast
Qwen 2.5 72BGoodGoodMedium
Models < 7BLimitedLimitedVery Fast

For agentic multi-step tool use, prefer models with strong native function/tool calling (GPT-4o, DeepSeek-V3, Gemini 2.0 Flash).

---

What Works vs. What Doesn't

Fully supported

  • All tools: Bash, FileRead, FileWrite, FileEdit, Glob, Grep, WebFetch, WebSearch, Agent, MCP, LSP, NotebookEdit, Tasks
  • Streaming (real-time token output)
  • Multi-step tool chains
  • Vision/images (base64 and URL) for models that support them
  • Slash commands: /commit, /review, /compact, /diff, /doctor
  • Sub-agents (AgentTool spawns sub-agents using the same provider)
  • Persistent memory

Not supported (Anthropic-specific features)

  • Extended thinking / reasoning mode
  • Prompt caching (Anthropic cache headers skipped)
  • Anthropic beta feature headers
  • Token output defaults to 32K max (gracefully capped if model is lower)

---

Troubleshooting

doctor:runtime fails with placeholder key error

Error: OPENAI_API_KEY looks like a placeholder (SUA_CHAVE)

Set a real key: export OPENAI_API_KEY=$YOUR_ACTUAL_KEY

Ollama connection refused

Ensure Ollama is running before launching:

ollama serve &
ollama pull llama3.3:70b
bun run dev:ollama

Tool calls not working / model ignores tools

Switch to a model with strong tool calling support (GPT-4o, DeepSeek-V3). Models under 7B parameters often fail at multi-step agentic tool use.

Azure endpoint format

The OPENAI_BASE_URL for Azure must include the deployment path:

https://<resource>.openai.azure.com/openai/deployments/<deployment>/v1

Codex auth not found

If ~/.codex/auth.json doesn't exist, set the token directly:

export CODEX_API_KEY=$YOUR_CODEX_TOKEN

Or point to a custom auth file:

export CODEX_AUTH_JSON_PATH=/path/to/auth.json

Run diagnostics for any issue

bun run doctor:runtime       # human-readable
bun run doctor:runtime:json  # machine-readable JSON
bun run doctor:report        # saves to reports/doctor-runtime.json

Related skills

How it compares

Pick this when you need Claude Code tools with a swappable OpenAI-compatible backend rather than native-only Anthropic configuration.

FAQ

What models does openclaude-multi-llm support?

openclaude-multi-llm supports GPT-4o, DeepSeek, Gemini, Ollama, Groq, and 200+ OpenAI-compatible models configured through environment variables on the OpenClaude fork.

Does openclaude-multi-llm keep Claude Code tools?

openclaude-multi-llm preserves Claude Code's complete tool system. OpenClaude routes LLM calls through an OpenAI-compatible API while agent tools remain available.

Is Openclaude Multi Llm safe to install?

skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.