gitmyhub

usher

Go ★ 0 updated 29d ago

One command. The right AI coding agent. Every time. Routes tasks across your Claude Code / Codex / Gemini subscriptions — no API keys. right this way.

A command line tool that picks which AI coding assistant, Claude Code, Codex, or Gemini CLI, should handle each task and hands you straight into its native session.

GoCLIsetup: easycomplexity 2/5

Usher is a command line tool that decides which AI coding assistant should handle a task, when you already have subscriptions to several of them, such as Claude Code, Codex, and Gemini CLI. Instead of you pausing to figure out which tool to open, or hitting a usage limit partway through and having to retype your request into a different one, you just describe what you need and usher picks the best available option and hands you its normal interface.

Before starting anything, usher checks which agent programs are actually installed on your machine, then scores each one for the task at hand. It sorts your request into a category like debugging, building a feature, refactoring, reviewing code, writing documentation, or testing, and multiplies that against a hand written table of how strong each agent tends to be at that kind of task. It also lowers the score of any agent that recently hit a usage cap, so it steers you toward whichever tool is actually available rather than whichever one looks best on paper alone. You can ask it to explain its reasoning, override its pick for a single command, or set a permanent preference in a config file.

Usher does not use another AI model to make this decision. It relies on plain keyword matching and a fixed scoring table so the choice happens instantly, without using any of your quota just to decide how to spend it. Because none of the underlying AI vendors expose how much quota you have left, usher keeps a small local record of past rate limit errors and slowly forgets them as each vendor's usage window resets, treating this as a rough confidence signal rather than an exact count.

It also works for scripts and automated jobs. In headless mode it prints only the chosen agent's answer to standard output while routing details go elsewhere, and it can automatically retry with the next best agent if the first one hits its usage limit, passing along a note that a previous agent may have left unfinished work behind.

Usher is written in Go, installable through Homebrew or the Go toolchain, and works entirely offline with no API keys required, since it launches the AI tools you already pay for rather than calling any AI service directly itself.

Where it fits