To:
Cc:
From:
Subject:
why we are building ult
Why we're building ult
Coding agents are now useful enough to run on real repositories, but the control surface around them still feels primitive.
In a normal agent-heavy workflow, the hard part is not only asking for work. It is steering the work once several terminal sessions are already running: stay inside scope, inspect the current diff, run the relevant tests, summarize risk, stop, or reset.
Those prompts are short, repetitive, and easy to phrase inconsistently under pressure. They also do not belong in persistent project instructions. Persistent context and ephemeral control are different things, but current workflows often force them through the same channel.
If a temporary control becomes persistent, it can interfere with later work. If it stays manual, the developer keeps paying the same attention cost across every terminal and every agent session.
ult is the missing local layer: a menu-bar control surface that keeps reusable prompts and explicit context outside the agent until the developer chooses what to inject.
It is agent-agnostic by design. It is built for terminal workflows. It should help developers steer agents without coupling every prompt to one runtime, one project file, or one persistent memory surface.
If that workflow sounds familiar, you can check back here for the macOS download.