Skip to main content

The Problem

You subscribe to Claude Pro, Codex, and Gemini. Three powerful models. Three separate terminals. Three isolated memories. Claude doesn’t know what you did in Codex. Gemini can’t see your Claude sessions. Switch models and you start from zero. The models are powerful individually, but they can’t work together. Wrappers like LangChain solve this with APIs — but that means extra cost per token, rate limits, and you lose each CLI’s native capabilities (tools, MCP, agents, hooks).

The Insight

AI CLIs run in terminals. Terminals can run other terminals. If Claude Code runs in a PTY, and that PTY has shell access, then Claude can type codex "review this" — just like a human would. No API. No wrapper. Codex runs with its own official model, on the human’s own subscription. Claude gets the response. This works in every direction. Any CLI can call any other CLI. The only requirement: they share a terminal.

OpenCLIs

OpenCLIs is the name for this architecture:
The third property is the deepest. Why memory that persists across sessions and models changes what the whole thing is — not just what it can do — is the argument of Monobrain: The Unnamed Conversation.

What OpenCLIs Is Not