Your machine
The dashboard, card by card
What each card on your machine's dashboard is, what it shows, and which of them changes something.
Your machine has one address and everything on it is behind that address. The dashboard is the page that answers at the root of it. It is served by the machine itself rather than by this website: nothing on it is fetched from us, and it keeps working when this site does not.
There are two views. You get the simple one by default; the gear at the top right has a **Detail** row that switches to the advanced view, and that choice belongs to the machine rather than to the browser you made it in. Three of the cards below exist only in the advanced view and are marked as such.
The line at the top
To the left of the gear: the machine's hostname, the Ubuntu release it runs, its CPU architecture, and the name of the account every tool runs as. Beside them is one status word — bootstrapping, installing, ready, degraded or failed. Two more can appear. rebooting follows a reboot you asked for, and unreachable means this page could not reach the machine, which is a different thing from the machine being unwell.
The page polls rather than streams: every 10 seconds once the machine is ready or degraded, every 3 seconds while it is still coming up, and immediately when you switch back to the tab. **Refresh now** in the gear does it on demand.
The gear
- **Theme** — system, light or dark. The one setting stored in your browser, so it does not follow you to another device.
- **Detail** — the simple/advanced switch, stored on the machine.
- **Terminal+ on a phone** — off, a button, or automatic.
- **Access** — two dialogs. *Sessions and links* is who is signed in and where a new link comes from; *SSH keys* is which keys the machine trusts.
- **Setup** — which starting point this machine was given, and which agents Terminal+ opens with.
- **Machine** — whether security updates are applied, and **Reboot**.
The health bar
Four tiles in the simple view. **Performance** is the higher of CPU and memory use, with a line saying which of the two it is reading. **Storage** is disk use, with the free space beside it. **Uptime** carries whether a package update is waiting for a reboot. **Network** is one outbound connection test — reachable or not — and not a measure of speed.
The advanced view shows seven instead: CPU with the one-minute load average and the vCPU count, Memory in bytes as well as a percentage, Disk with inode use beside it, Uptime, Network with the pending and security update counts, Certificate, and Agent — the version of the machine software this box is running.
Two readings look like faults and are not. **CPU reads 0% for one poll after the machine software restarts**, because a percentage needs two samples and it has only taken one. And the update counts read update count unavailable when the file Ubuntu keeps them in has not been written yet.
The health bar is a sample, and it counts nothing per process. There is no process list, no per-tool CPU figure, and no history — these are the machine as of a few seconds ago, and the page keeps no yesterday to compare them with. top and df -h in a terminal are the tools for the question a tile cannot answer.
Needs attention
Hidden unless there is something in it, and it is a closed list rather than a general error feed. The machine will raise: a tool that failed to install, never ran, or is installed and not running; a root filesystem over 90% full or under 2 GB free; inodes over 90% used; a self-signed certificate, or one expiring within 72 hours; a package update waiting on a reboot; no outbound connectivity; and one that catches a common confusion — that you reached the machine by its bare address rather than by its name, in which case it tells you the address to use.
Some entries carry one button — Retry, Restart or Reboot now — and some carry none, because some of them are only yours to fix. Space on the disk is the obvious one.
Open
The row of large buttons at the top. Each is a tool with a web address on this machine, and clicking it opens that tool. A bundled tool that ships stopped starts when you open it: the request is held while it comes up, and a start that fails gives you a page naming the tool and the reason rather than a bare error.
The bar shows what you have pinned, plus one reserved place for the last app you opened — that slot expires by itself, and it can be turned off in **Quick access…**. Nothing the machine does on its own moves a button: an install finishing or a tool coming back after a reboot does not rearrange your front page. There are deliberately no start or stop controls here. Those are one card down.
Terminal+ tabs
Terminal+ is the persistent terminal session — the one that keeps running when you close the tab. This card lists the tabs that session has right now, asked of the live session on every poll. If it says the workspace is not answering, that usually means the session is restarting, and the list comes back on its own.
**Open a new tab** below gives you one button per coding CLI on the bar. The ✎ puts the list into an edit mode where tabs can be reordered, renamed and closed; the close control is left off the last remaining tab on purpose. The gear on this card is where you choose whether the card appears at all, which CLIs get a button, and which agents are already running when you open the terminal.
A machine opens on a plain shell and starts no agent for you. Having agents up at boot is a setting rather than a default — four started for you is four processes bought with a guess about which one you wanted.
Apps
This is your list: the tools you keep, which is deliberately smaller than everything the machine has downloaded. A row carries the app's name, a word for what it is doing, and its port if it has one. **Start** and **Stop** are at the top right. The gear and a ✕ are at the bottom right, and the ✕ takes the app off your list — which stops it and takes its fast button with it, because those are one decision. It asks first when the app is running, and not otherwise.
**Add an app…** opens everything this machine has, searchable, and adding something not downloaded yet queues the download. Note what that drawer is not: it offers what is on this machine already. There is no store to pull a new tool from — that does not exist yet.
Logs on a row, and **Register app** for something of your own, are advanced-view only. See adding an app that is not in the catalogue.
Your code
One field that clones a **public https** repository into ~/projects, which is where the terminal, the editor and every agent open. It refuses SSH addresses, URLs with credentials in them, and the git transports that run a command. A clone outlives the request, so you can leave the page while it runs.
**A private repository cannot be cloned from this field.** Giving the machine an identity of its own is not built yet. Clone a private repository from a terminal, with your own credentials, in the usual way.
Setting up your machine
Present while the machine is still building itself, and gone once everything is ready. One row per tool with a word for where it is — waiting to start, downloading, installing, starting up, ready, or did not install — and a Retry on anything that failed.
Your machine is handed to you before this card is empty, on purpose. A tool still downloading holds up nothing else, and nothing on this list decides whether the machine is yours.
Sign-ins
Which coding agents have a login on the machine, and where each login lives. It is read-only, and it is a file check: **signed in** means the credential file is there, not that the credential still works. Nothing here calls a vendor to verify anything, and there is no sign-in button — you sign in inside the tool, or by putting a key in the environment file.
Installation — advanced view only
The engineering version of *Setting up your machine*: every component with its internal state, its version, and three buttons — Retry, Repair, and Log, which opens what that component's install actually printed. Below it, a live log of what the machine is doing while it does it.
Ports — advanced view only
One table of every loopback port the machine knows about and the address that reaches it. It is built from the same two sources the gateway routes from, so the address printed here and the address that works cannot drift apart. A port reads reserved when it belongs to a bundled tool and yours when you registered it.
It is a routing table and not a scan. A port you opened yourself and did not register is not in it, because it is not routed — nothing is listening on your behalf at the front door for it.
Let your local agent use this machine
The last card, and the only one not about a tool on the box. It writes a briefing for an agent running on your own computer — what this machine is, which account and host, where work and keys and logins live on it — beside a field that trusts a public key that agent generates, and the ssh line that follows. Read SSH, your own keys, and what a reinstall does to them before you rely on it, because there is a limitation there that this card states and it is easy to skim past.
The footer
The product name, the version of the machine software, and when the numbers above were sampled. The machine's own name is in the line at the top of the page, not here. Then two controls: **Feedback and requests**, which opens the form on this website empty, and **Something is wrong here**, which takes 500 characters and opens the same form with your words in it plus this machine's name and build.
Neither of those posts anything from the machine. The dialog composes a link and your own browser carries the words to this site, where you press send. Nothing is stored on the box.
What is not on the dashboard
- **Your term, your renewal date, your invoices and your price.** The machine does not know what you paid and has no opinion about it. Those live on this website — see what happens when a term ends.
- **Any backup or restore control.** There is nothing on the dashboard that takes a snapshot or rolls one back. Getting your files off a machine is what actually exists.
- **A place to install something the machine has not already downloaded.** The catalogue is fixed by the version of the machine software you are running.
- **A log page for the machine as a whole.** Logs are per tool and per component; logs, and what to send when something is wrong says where each one is.
Wrong, out of date, or missing the case you have? Tell us. A page that describes the machine incorrectly is a fault, not a typo.