Skip to main content
uber is a terminal client built from pi’s components. It talks to the kernel, so it runs on any machine that can reach it:
Run it inside a clone of the repository to work on. A new session works on the origin remote’s GitHub repository. The agent works from GitHub, so push what it should see. uber starts a new session, and uber <name> opens or creates <you>/<name>. Each prompt is an execution in the session. Calls that need approval show pi’s selector with the policy’s reason. Esc cancels the running execution. Any other /name, such as one of the agent’s prompt templates, goes to the agent as the task. Commands that your own pi extensions register run only in pi. List the agent’s models, MCP servers, and optional extensions that you use in uber.json in your pi configuration. /model offers the models, as provider/id. /mcp and /extensions turn the others on and off, and every turn sends the ones that are on:
The client uses your pi configuration (~/.pi/agent) for its theme, built in, from themes/, or from a package, for tool renderers from extensions, and for the thinking level, pi’s defaultThinkingLevel, which every turn sends. It never runs an extension’s tools or hooks.