tokunseba
Ways to use it

Supported tools

What init configures, what it can wrap, and what it cannot reach.

tokunseba wrappable

shows the list and marks which of them are installed on this machine.

Configured automatically by init

ToolHow
Claude CodeANTHROPIC_BASE_URL in its settings file, plus hooks and a status line
Codex CLIa tokunseba model provider in config.toml
Shell environmenta block in your shell profile, so any SDK client picks it up
Ollama, LM Studio, llama.cpp, vLLMrecognised as upstreams you can route to

The shell block is what covers everything else that reads ANTHROPIC_BASE_URL, OPENAI_BASE_URL or OPENAI_API_BASE, which is most SDK clients and most scripts.

Wrappable

Run one tool through the proxy without changing anything on disk:

tokunseba wrap claude
tokunseba wrap codex -- --model gpt-5
tokunseba wrap aider
claudeClaude Codeopencode
codexOpenAI Codex CLIcline
aiderAidercontinue
gooseGoosegemini
crushCrushqwen
ollamaOllama client

Anything else:

tokunseba wrap-any -- my-agent --flag
tokunseba wrap-any -- zsh          # a whole shell, everything in it routed

What cannot be reached

ToolWhy
GitHub CopilotTalks to its own backend over a closed protocol
CursorTalks to its own backend over a closed protocol
WindsurfTalks to its own backend over a closed protocol

These are not missing features. A proxy can only sit in front of a client that speaks a protocol you can parse, and these do not. tokunseba says so plainly in wrappable rather than listing them as "coming soon".

If one of these tools has a setting for a custom OpenAI-compatible endpoint, point it at http://127.0.0.1:7777/openai and it will work like anything else. It is the closed default path that cannot be intercepted, not the tool.

Checking what a tool is actually doing

tokunseba doctor     # what is configured
tokunseba verify     # what actually arrived
tokunseba stats      # by tool

A tool that is configured but never appears in stats --by-tool is being overridden by something. See Proving it works.

On this page