The API Approach
Most multi-model frameworks work like this:Your code → Framework → API call → Model → Response → Framework → You
LangChain: Python → OpenAI API → GPT-4 → response
CrewAI: Python → Anthropic API → Claude → response
AutoGen: Python → Multiple APIs → responses → aggregation
- API keys for each provider
- Per-token billing (separate from CLI subscriptions)
- SDK dependencies
- Rate limit handling
- The framework becomes a middleman
The OpenCLIs Approach
Your terminal → CLI runs directly → Model responds → Terminal shows it
Claude Code runs Claude. Codex runs its model. Gemini runs Gemini.
Each CLI handles its own auth, its own model, its own features.
OpenCLIs doesn't sit between you and the model.
What You Lose With API Wrappers
┌───────────────────────────────────────────────────────────────────┐
│ API WRAPPER LOSES │
├───────────────────────────────────────────────────────────────────┤
│ │
│ Claude Code via API: │
│ ❌ No Bash tool (can't run commands) │
│ ❌ No file editing tools │
│ ❌ No MCP server connections │
│ ❌ No hooks (PreToolUse, PostToolUse) │
│ ❌ No agent/subagent system │
│ ❌ No CLAUDE.md project instructions │
│ ❌ No memory system │
│ You get: text in, text out. │
│ │
│ Claude Code via CLI: │
│ ✅ Full Bash tool access │
│ ✅ File read/write/edit │
│ ✅ MCP servers │
│ ✅ Hooks and automation │
│ ✅ Agents and subagents │
│ ✅ Project instructions │
│ ✅ Persistent memory │
│ You get: the complete tool. │
│ │
└───────────────────────────────────────────────────────────────────┘
Cost
┌──────────────────────────────────────────────────────────────────┐
│ COST COMPARISON │
├──────────────────────────────────────────────────────────────────┤
│ │
│ API approach: │
│ Claude Pro subscription $20/mo │
│ + Claude API usage $XX/mo (per token) │
│ + Codex API usage $XX/mo (per token) │
│ + Gemini API usage $XX/mo (per token) │
│ = Subscription + API fees │
│ │
│ OpenCLIs approach: │
│ Claude Pro subscription $20/mo │
│ Codex subscription included or $XX/mo │
│ Gemini subscription included or $XX/mo │
│ + OpenCLIs $0 additional │
│ = Just your existing subscriptions │
│ │
│ No double-paying for the same models. │
│ │
└──────────────────────────────────────────────────────────────────┘
Independence
┌──────────────────────────────────────────────────────────────────┐
│ INDEPENDENCE │
├──────────────────────────────────────────────────────────────────┤
│ │
│ If LangChain disappears: │
│ → Your orchestration code breaks │
│ → Your chains stop working │
│ → You rewrite everything │
│ │
│ If OpenCLIs disappears: │
│ → Claude Code still works │
│ → Codex still works │
│ → Gemini CLI still works │
│ → You lose cross-model memory and observation │
│ → But every tool continues independently │
│ │
│ OpenCLIs adds to your tools. It doesn't replace them. │
│ │
└──────────────────────────────────────────────────────────────────┘