Cley · self-hosted · open source

Your coding agents, on your own server.

Cley is a command centre for coding agents. Hand them work from your phone or your laptop, watch what they do, answer when they get stuck. They run on a machine you own, using the ChatGPT or Claude subscription you already pay for — not a metered API bill.

Build my install block Read the code Five minutes. No terminal.
What it is

One screen for every agent, every project.

Agents are good at working alone and bad at telling you about it. Cley is the part that was missing: somewhere to see what they are all doing at once, and somewhere for them to reach you when they need a decision.

A board, or a list

Every conversation across every repository, grouped by status or by project. Whatever is waiting on you sits at the top.

Always a conversation

An agent that needs a decision asks in a sentence, and you answer in one. No forms, no re-reading a log to find the question.

Your plan, not an API bill

Work runs through the official ChatGPT and Claude CLIs, signed in with your subscription. A long day of agents costs what your plan already costs.

Your server, your data

Conversations, repositories and an encrypted vault live on a machine you rent and control. Nothing reports home. There is no account to sign up for.

Before you start

Three things you need.

A server A computer you rent by the month and that never turns off — the thing hosts call a VPS. You order it from a web page like any other purchase. The smallest one with 2 GB of memory is plenty: about €4 to €6 a month. It needs to offer Ubuntu and the text box described in step 2 — Hetzner, DigitalOcean, Vultr and Scaleway all do.
A domain you own Not a made-up name. It has to be one you actually own, because you will point it at your server — and the padlock in the address bar is only granted for a name that genuinely leads there. Easiest is a subdomain of something you already own: cley.yoursite.com. A new domain costs a few euros a year.
A subscription ChatGPT or Claude, the plan you already have. You connect it from inside Cley once it is running, not now.
Install

Five minutes, one paste.

You never log into the server, and there is nothing to install by hand. Pasting one block into a form at your host is the installation: the machine reads it on its first boot, installs Cley, gets its HTTPS certificate, installs everything the agents need, and connects itself so it can start taking work. Then you open your domain.

1 Build your block

The one you own and will point at this server. A subdomain is fine.

Sixteen characters or more. Generate one unless you have a password manager open.

Encrypts the secrets Cley holds. It is inside the block below, so keeping the block keeps the key — but a copy in your password manager is what saves you if you lose the block.

Fill in the first two fields.

Your block will appear here.

Keep this block somewhere safe as well. It carries both your password and your vault key, each made in this browser and sent nowhere — and without the vault key, a backup of your server restores a vault nobody can read.

2 Create the server, and paste the block into it

At your host, start creating a new server and choose Ubuntu. On that same page, usually behind a link named Advanced options, there is a large empty text box. Hosts label it differently — User data, Cloud-init, Cloud config, Initialization scripts, Startup script — but it is always the same box. Paste your block into it and create the server.

That box is the install. It is read once, while the machine boots for the first time, and everything else happens on its own: there is no software to upload afterwards, no console to open, no command to type.

Already have a server? That box only exists while a server is being created, so the simple path is to make a new one. An existing machine would need the same script run on it by hand — which does mean a terminal.

3 Point your domain at the server

Within a minute, your host shows the new server's IP address — four numbers separated by dots, like 192.0.2.10. Copy it.

Then go wherever you bought your domain and open the page called DNS or DNS records. Add one record. It has three fields:

TypeA — pick it from the list
Name the part in front of your domain: cley, if you want cley.yoursite.com
Valuethe IP address you just copied

Save it. That is the entire change.

Using Cloudflare? Leave the little cloud beside the record grey, not orange. An orange cloud intercepts the check that grants your padlock, so it never arrives.

4 Wait five minutes, then open your domain

The first boot builds Cley and asks for a certificate, so give it five to ten minutes. Then open https://your-domain in any browser. It asks for a username — anything works — and the password is the one from step 1.

Once it is up

Connect your subscription and your repositories.

In Cley, Machines → Your subscriptions signs your plan in. ChatGPT shows you a code to type on your phone. Claude has no code-based sign-in, so a single command on your own computer produces a token you paste in.

Then Settings → GitHub connects your repositories, and you can open your first conversation.

If it goes wrong

Almost always one of three things.

The first two you can check from your own computer, without going anywhere near the server.

The page does not load

The domain is not reaching the server yet. Re-check the record from step 3, and give it time — a new one usually works within minutes, but can take a few hours.

Your browser warns you

The padlock has not been granted yet. Cley keeps asking, so wait a few more minutes. If you use Cloudflare, this is the grey cloud again.

Still nothing after twenty minutes? Then the install itself stopped. Your host's control panel has a Console button that opens a window onto the machine — this is the one moment the promise of no terminal breaks. The whole story is in /var/log/cley-install.log, and the last lines say what failed.