# I stopped picking between Claude Code, Codex and Gemini, so I built a shell that picks for me

> Source: <https://dev.to/caspianmdtool/i-stopped-picking-between-claude-code-codex-and-gemini-so-i-built-a-shell-that-picks-for-me-2kmg>
> Published: 2026-10-06 09:11:50+00:00

I pay for more than one AI coding tool. Most of you probably do too.

And every day I hit the same friction:

So I built Caspian: one terminal copilot that sits on top of the agents you already have and picks the right one for each request.

Caspian runs Claude Code, OpenAI Codex, Gemini and Cursor in the background and shows their answers in one session.

For every request it triages the task and routes it:

The rules are simple:

`/use codex` pins a tool if you want control; `/use auto` hands it back.
Before a large change runs, Caspian shows an estimate: files touched, lines changed, turns, tokens and time, next to what the fast model would cost. You choose: run it, run it on the fast model, or cancel. Dollar amounts only appear when you're billed per token.

Type `add a forgot pasword link to it` and a cheap model rewrites it as:

Add a "Forgot password?" link to the login page in src/pages/login.tsx.

You pick whether to send the refined version, the original, or edit it.

Decisions and changes are written to `.caspian/context.md`, so when work moves from Claude Code to Codex, the context moves with it.

The header shows how much of each tool's plan you've used, including the 5-hour and weekly windows and reset times. No more surprise rate limits mid-task.

Questions are read-only. Shell commands stay off until you press Shift+Tab. Big changes ask first.

You need at least one AI coding CLI installed and signed in, plus Node 20.18+.

```
npm install -g @caspianmd/caspian
cd my-project && caspian
```

It's free and runs on Windows, macOS and Linux. Requests go to each tool's own provider, exactly as if you ran it yourself.

I'd love feedback, especially on the routing. Which tasks do you think it should send where? Drop a comment!
