~ fog ~ ~ fog ~
* .
[] []
|| Made with ♥ by the team at eLLMo AI www.tryellmo.ai ||
_||_ _||_
/| |\ /| |\
. / | | \. ./ | | \ .
/ |__| \'-. .-'/ |__| \
SF / |||| \ '-._ _.-' / |||| \ Marin
--./ |||| \ '-._ _.-' / |||| \.--
: |||| : '--.__ __.--' : |||| :
: |||| : : : : '''------''' : : : : |||| :
===+====++++=====+===+===+===+===+===++===+===+===+===+===+=====++++====+===
G O L D E N G A T E B R I D G E
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ ~~ ~~~ ~ ~~~~ ~~ ~ ~~ ~~~ ~~ ~ ~~~ ~~ ~ ~~~ ~~ ~ ~~~san francisco · golden gate · from the bay · Open in: Claude | ChatGPT
ADE · agent development environment · 工場 kōjō, a software factory
The ADE your agents use too.
Kojo is an ADE, an Agent Development Environment. It puts Claude Code in a shared session. Your team and your agents work in the same conversation, on the same computer, across every repository you pick. The computer sleeps the moment nobody needs it, so you pay only for what runs.
$0 to sign up in alpha · credits for usage · bring your Claude subscription or key · web app for desktop and phone
ana Checkout fails on Safari about one run in five. Find out why.
claude Reproducing in the session's browser…
ran web/e2e/checkout.spec.ts → 1 failed, 13 passed
claude I'd like to run `pnpm db:reset` in api. Approve?
ben Approved (from his phone)
claude Found it: the cart hook races the price request. Fixed.
ran web/e2e/checkout.spec.ts ×20 → 20 passed
ci-bot queued: "also add a regression test for the race"
claude Added. Pushed both repositories and opened 2 linked draft PRs.
computer asleep · memory and processes kept · wakes on the next messageClaude Code gets tired in the cloud
On a laptop, Claude Code does great work. Move the same harness to a cloud sandbox and long tasks get shallower: the model is the same, the environment around it is not. Kojo is built around the five things that wear it down.
| What wears it down | What Kojo does |
|---|---|
| Nobody is there to approve a step, so an unattended run waits forever. | The request goes to everyone in the session, on any device. If nobody answers in time, the step is denied, never quietly allowed. |
| Your settings, skills and instructions stay on your laptop. | Your company's and your own settings (model, effort, skills) load into every run. |
| The computer is taken away mid-task, with its shells and servers. | One computer per session. It sleeps with memory and processes intact and wakes where it left off. |
| It cannot see what it built. | A browser for every run, and a preview link for every port your app listens on. |
| Every session starts with setup. | A prepared image with per-repository setup commands, and a computer that stays set up between turns. |
One session, everyone in it
A session is a shared conversation with a list of repositories and a computer. People join it, and so do your agents: an API key or an installed app is a member with its own role, and everything it does shows up in the session's activity under its name. Anyone allowed can send a message, queue the next one while the agent works, or interrupt it.
| Role | Can |
|---|---|
viewer | read the conversation and the activity |
reviewer | …and approve or deny the agent's requests |
editor | …and send, queue and interrupt; use the terminals and open any preview |
owner | …and manage the session and its members |
automation | read and send messages; how API keys and apps join, never higher |
terminals are shared tmux sessions: everyone sees the same shell, and it outlives every browser tab
A computer per session, asleep when idle
Each session gets its own Linux computer with every repository checked out side by side. When the agent stops and nobody is typing, it goes to sleep. Nothing on Kojo runs while nobody uses it, not the computer, not the app, not the API.
cpu 4 vCPU
memory 8 GB
checkout /workspace/<repository>, every one you picked
sleeps after 15 idle minutes, memory and processes kept
wakes on a message, a preview, a keystroke
charged awake time; asleep, only its storageRuns that pick up where they stopped
A run is one stretch of work, up to two hours. The branch is pushed as it goes, the conversation is saved, and the next run resumes it, on the same computer or on a new one rebuilt from the branch. If your Claude plan hits a usage limit, the run moves to the next route you set (another key, or an open model) and carries on in the same conversation.
Many repositories, one change
Pick the repositories a session works in; Kojo never guesses them. When the work is ready it goes out as one draft pull request per repository, linked to each other and opened in order. If one fails, retrying finishes the rest. The agent opens pull requests through Kojo, not with a token of its own, and a merge always waits for a person.
Everything you click, an agent can call
The app is one client of an API with the same surface. Start a session, send or queue a message, read only the activity that is new since you last looked, run a command, list the ports, get a preview link, decide an approval. A catalog endpoint describes each operation with its JSON Schema and the scope it needs, so an agent can discover what it may do. Your own Claude Code can join a cloud session through the local client.
$ curl -X POST "$KOJO_API/coding/sessions" \
-H "Authorization: Bearer $KOJO_KEY" \
-H "Content-Type: application/json" \
-d '{
"repositories": [{"full_name": "acme/web", "mode": "pr"}],
"first_turn": "Make the checkout test pass on Safari."
}'
Pay for what runs
Sign up for $0 during alpha, then use credits. A $19/month seat with a card keeps your workspace; free accounts are deleted every 3 days. Every minute of computer time, every browser and every stored file is charged to your balance and attributed to the person and the session that used it. At zero, nothing new starts; work already running finishes its turn. Using your own Claude subscription or key? The model bill stays between you and Claude.
What it isn't, yet
Claude Code only.Open models plug in through Claude Code; Codex and Cursor do not.One active run per session.Parallel work means more sessions, or a fork of one.A web app.It works on desktop and phone; there is no native app and no local worktree mode. For one person on one laptop, a local tool is still faster.Hosted only.No self-hosting and not open source.
FAQ
- Do I need a Claude subscription?
- No, but you can bring one, or a Claude API key; then model usage is billed by Claude, not by us.
- Can an agent merge to main?
- No. The agent can open and update pull requests; a merge always waits for a person in the session.
- What happens to my computer when I close the tab?
- It keeps working while the agent works, then sleeps after 15 idle minutes with everything in memory. The next message wakes it.
- Do you monitor or log what my team does?
- No. We take privacy seriously for productivity teams: no activity tracking and no individual scoring. Details.
- Which repositories can it touch?
- Only the ones a person picked for that session, from the GitHub installation your company connected.
- Can my teammate approve a step I started?
- Yes: anyone in the session with the reviewer role or above, from any device.
Open your first session.
Sign in with Google, add credit, pick a repository, type what you want done.