explaingit

theodorebeaupre-prog/usher

Analysis updated 2026-05-18

0GoAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

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.

Mindmap

mindmap
  root((usher))
    What it does
      Task routing
      Quota awareness
      Agent handoff
    Tech stack
      Go
      CLI
    Use cases
      Pick best agent
      Headless CI runs
      Failover on rate limit
    Audience
      Developers
      Multi-agent subscribers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically route a coding task to whichever AI agent, Claude Code, Codex, or Gemini CLI, is best suited and has quota left.

USE CASE 2

Avoid retyping a prompt into a different AI tool after hitting a usage cap mid-session.

USE CASE 3

Run a chosen agent's response through a script or CI pipeline in headless mode.

USE CASE 4

See exactly why a given agent was chosen with the --why flag.

What is it built with?

GoCLI

How does it compare?

theodorebeaupre-prog/usher42wim/fabio42wim/go-xmpp
Stars0
LanguageGoGoGo
Last pushed2018-02-042020-01-24
MaintenanceDormantDormant
Setup difficultyeasymoderatemoderate
Complexity2/53/53/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires having at least one supported AI coding agent, such as Claude Code or Codex, already installed and authenticated.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

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.

Copy-paste prompts

Prompt 1
Install usher and run usher doctor to check which AI coding agents it detects on my machine.
Prompt 2
Explain how usher scores agents for a debug task versus a review task.
Prompt 3
Show me how to pin a specific AI agent for certain task types in usher's config file.
Prompt 4
Set up usher in headless mode for a CI script that summarizes failing tests.

Frequently asked questions

What is usher?

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.

What language is usher written in?

Mainly Go. The stack also includes Go, CLI.

What license does usher use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is usher to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is usher for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.