Claude Code in a browser tab. On your machines. As many as you want.
Not a chat wrapper: the real Claude Code terminal, running on a machine you own, reachable from any browser or phone through a hub you host. Run many sessions at once, each in its own git worktree, see which one is waiting on you, and let a kanban ticket start the next one while you're away. Codex, opencode and pi too.
Not affiliated with Anthropic. Uses the claude CLI and the plan you already have.The whole hub on a phone — not a cut-down app.
Drawer navigation, a touch kanban, and a real terminal with a key bar for ctrl, esc and arrows. Thirty-five seconds: a PR reviewed and merged from a phone, on a machine at home.
Three ways to get Claude Code out of one laptop's terminal.
They solve different problems, and only one of them is the problem Cordane solves. Said plainly so you don't have to work it out from marketing.
Their cloud, or one synced session.
- Claude Code on the web runs your repository in Anthropic-managed cloud environments. Nothing to host; your code runs on their machines.
- Remote Control (
claude remote-control, research preview, February 2026) syncs a terminal session on your machine to the claude.ai web and mobile apps — one session per machine, terminal left open, each action approved. - Self-hosted web UIs from the community put a server next to Claude Code and re-render it as chat — then leave reaching that server to you: localhost, an SSH tunnel, or a VPN.
The real terminal, many of them, from anywhere.
- A worker on each machine dials out to a hub you host. No SSH tunnel to keep alive, no VPN, nothing inbound — a laptop on hotel Wi-Fi joins the same as a box in the office.
- Open a space and run
claude: it's a real PTY with your shell and dotfiles, rendered in the browser. As many sessions as your machine can carry, side by side, each ticket in its own worktree. - Every session reports working / waiting on you / done / idle — Claude Code through an opt-in lifecycle hook, others read off the screen — and
/agentslists them all, most urgent first, across every machine. - Or don't open a terminal at all: a kanban ticket starts Claude Code headless in a fresh worktree and puts the plan, the diff and any files it wrote back on the card.
Join the machine, open a shell, run claude.
Claude Code is unchanged. Cordane is the part that gets you to it from anywhere and keeps track of which one needs you.
Join a worker
One command on the machine that has claude installed and signed in. It connects outward to your hub with a one-time token; your API key or subscription stays on that machine and port 22 stays closed.
Open a space, run claude
A space is a saved terminal layout — panes, directories, commands — that comes back the same every time. Run claude in one pane and your dev server in the next; open a second space for the next ticket. Two people can sit in the same shell.
Watch from anywhere, or don't
From a phone, with ctrl, esc and arrows on a key bar. Or hand the work to a ticket instead: plan phase, implement phase, review on the card — from a browser, or on a schedule while you sleep.
The dialog that eats unattended runs. Claude Code asks you to trust a folder it hasn't seen, and --dangerously-skip-permissions does not skip that prompt. Every ticket is a fresh worktree, so every ticket is an unseen folder. The worker pre-marks exactly the directories it launches an agent in, in your own Claude config — never $HOME, never a shell pane. We wrote up how we found that one.
What people want from a Claude Code web UI — and what this one does.
The list people actually search for, with a straight answer next to each line, including the ones where the answer is no.
| The job | Cordane |
|---|---|
| Reach Claude Code running on my own machine from any browser | Covered — the worker dials out to your hub; no SSH tunnel, no VPN, no inbound port, and the machine can be behind NAT. |
| From a phone, including typing ctrl and esc | Covered — a real phone layout with drawer navigation, a touch key bar for the terminal, and touch scrolling that works while Claude Code holds the mouse. |
| More than one session at once, without them colliding | Covered — every pane is its own shell; every ticket gets its own git worktree, branch and reserved ports. Interactive sessions are unlimited; the free Community tier caps ticket-driven runs at three concurrent. |
| Know which session is waiting on me without opening each one | Covered — per-pane states from an opt-in Claude Code lifecycle hook, badges on the ticket and space, and an /agents page across all machines. An alert reaches you in the browser, through a webhook (ntfy, Slack, Discord) or by email when a prompt goes unanswered past a delay you set. |
| Session survives closing the tab or losing the connection | Covered — the PTY lives on the worker with its scrollback; the hub can even restart underneath it. A worker reboot ends it, like any terminal. |
| Start a run without being at the keyboard | Covered — a ticket starts Claude Code headless in a fresh worktree, on a schedule or from an autonomous column, and the result lands on the card. |
| Also works for Codex, opencode, pi, or any other CLI | Covered — a terminal runs anything; ticket-driven runs have adapters for Claude Code, Codex, opencode and pi. |
| Run fully unattended, no permission prompts | Partly — for ticket-driven runs, only when you've explicitly allowed it for the project (Codex gets a read-only sandbox for planning instead). An interactive session is whatever flags you start claude with. |
| A chat-style interface with rendered markdown and a file explorer | Not covered — it's Claude Code's own interface in a real terminal, on purpose. Files come out through the space's files menu or attached to the ticket, not a tree view. |
| Token and cost analytics per session | Partly — for ticket-driven runs: what Claude Code reports at the end of a headless run (tokens, cost, turns, model), per ticket and per project. An interactive session reports nothing — Cordane doesn't see the model traffic. |
| Searchable history of past conversations | Not covered — interactive scrollback is in memory on the worker. Ticket-driven runs keep their exact prompt, diff and outputs on the ticket; that is the record. |
| Open source | Not covered — the deploy configuration is MIT; the hub and worker are proprietary and free forever on the Community tier, which needs no license key and makes no license calls. |
What a hub adds once you have more than one session.
A UI answers "can I see it from here?". A hub also answers "which one, in which branch, and is it done?" — for the whole team, not just the person whose laptop it is.
A worktree per ticket
Start a ticket and it gets its own git worktree, branch, ports and terminals. Six Claude Code sessions on one box never step on each other's checkout, and a multi-repo project branches every repo at once.
The result on the ticket, not in scrollback
Plan before code. Then the diff, how far behind main the branch is, and anything Claude Code wrote for humans in .cordane/outputs/ — a report, a screenshot — attached to the card with the exact prompt that produced it.
A team, private machines
Everyone shares the board; each person's Claude Code runs on their own hardware with their own key. Invite a teammate into one space by name and you're both typing in the same session.
The questions people ask first.
Is this an official Anthropic product?
How is this different from Claude Code on the web or Remote Control?
Is it a chat interface over Claude Code?
Do I need a Max plan?
claude on your machine today is what Cordane uses; it adds no Anthropic requirement of its own. The key stays on the worker and never reaches the hub.How do permissions work?
claude with. For ticket-driven headless runs, Cordane launches Claude Code without permission prompts only if you have explicitly allowed that for the project — autonomous is a dial, not a switch. It also pre-marks each fresh worktree as trusted in your own Claude config, because --dangerously-skip-permissions does not skip the folder-trust dialog and an unattended run would otherwise hang on it.Does it survive closing the tab?
Claude Code, from anywhere, on machines you own.
Self-hosting is free and available now — start with the quickstart, no email required. Want us to run the hub? Managed cloud starts with a 14-day free trial from the pricing page; your workers stay on your machines.
Community tier: free forever, no license key, no account with us.