
onethread
You talk to one agent. Many coding agents work behind it.
One window to run all your AI coding agents: talk to an orchestrator, it runs Claude and Codex tasks in the background.
onethread · 0 running · 0 waiting for you 1 Claude 5h: 55% left · week: 94% left 2 Codex 5h: 92% left · week: 99% left Start the orchestrator with [1]:
Talk to one window. Many agents work behind it.
Run ot, pick Claude Code or Codex, and talk the way you always do: “add auth to app-a”, “the settings bug in app-b is urgent”, “what’s running?”. That window is the orchestrator.
A queue across your repos
It keeps a queue of tasks across your repos and runs each task’s own agent session in the background: up to 10 at once, each in its own git worktree.
Step into any task
Say “let me talk to the medication task in pillbox” and a new iTerm2 tab opens inside that task’s real session. If its agent was working, it stops and tells you what it was doing.
Told at a natural pause
A worker finishes, gets stuck, fails or stops: the orchestrator tells you at a natural pause, never mid-thought.
Nothing destructive without you
Cancel, merge, push and accept ask you in the terminal or a macOS dialog. The model can’t answer for you.
Finishing is one word
Paste the published link or say “merge it”, and ot records the link, accepts, merges and cleans up. Your repo is never touched while it has uncommitted changes.
Survives restarts
A crashed worker is never mistaken for finished work.
You are the boss
ot me king, or anyone at all: the orchestrator becomes your right hand and builds your people from that world. ot me plain turns it off. Code, ids and errors stay plain.
Usage at a glance
The start screen shows how much of each provider’s usage limit is left, for 5 hours and for the week.
Costly commands take turns
Two Xcode builds never fight over your Mac.
Private by design
Local-first. No server, no account, no telemetry.
The Claude Code or Codex CLI you choose still needs its own provider setup.
Install
From source, in four lines:
git clone https://github.com/RogyMD/onethread.gitcd onethread./ot install # links ot into ~/.local/bin (asks first)ot # start screen: pick Claude or Codex
If your shell says ot: command not found, add ~/.local/bin to your PATH.
Want to see it first? This runs the full scenario with simulated agents and tabs, without spending quota:
python3 demo/run_demo.py
You need
macOS, Python 3.9 or newer (the python3 macOS ships is fine), git, and at least one of Claude Code or Codex CLI, installed and logged in.
Recommended
iTerm2: it opens task tabs and shows notifications. In Apple’s Terminal the tab’s bell marks the tab instead. Codex can’t be woken by onethread; it tells you on your next message.
Built with
For transparency, here is what onethread is made of.
Python 3 standard library
And one SQLite file. No server, no account.
Your own CLIs
The claude and codex CLIs you already use. Claude’s usage numbers come from agent-deck’s cache when it’s installed.
MIT licence
Where your data lives, the safety details, and how to remove it are in HOW-IT-WORKS.md.
Version 1.0.0 is used every day by its author with both Claude Code and Codex. Some real-tool checks are still outstanding; the evidence is in docs/STATUS.md.
Workers can run a repository’s test and build scripts. Only use repositories you trust.
Questions, bug reports, or ideas?
Join the community on Reddit: r/AIGarden
