Desktop
Install codai desktop, sign in, pick a skin and an autonomy level, use computer control, serve as a host for your phone and the web app, update and uninstall.
codai desktop lets the assistant work on your computer: run commands, read and edit files in folders you approve, drive a browser in a separate profile and — on Windows — click around in other apps. It ships with a small code workbench (Monaco editors, terminals, file explorer, Git view) so you review every change before it lands. Apache-2.0, source at github.com/codai-ro/codai-desktop.
Install
Releases are published at github.com/codai-ro/codai-desktop/releases, tagged desktop-v<version>. Current version at the time of writing: 0.6.1.
Three artifacts, all x64:
| File | What it is |
|---|---|
codai_<version>_x64-setup.exe | NSIS installer. Installs for the current user only — no administrator prompt. This is the one the auto-updater uses. |
codai_<version>_x64_en-US.msi | MSI package for managed installs / winget. |
codai_<version>_x64-portable.zip | Portable build — unzip and run codai-desktop.exe. No installer, no updater. |
Run the .exe, then start codai from the Start menu. Windows 10/11 with WebView2 (already present on both).
The installer is not yet Authenticode-signed, so SmartScreen may show "Windows protected your PC" on first run. Click More info → Run anyway, or verify the download yourself first — see Verify downloads. The updater already checks a minisign signature on every update.
First run
Accept the terms
The first screen is Before you start: the Terms of Service and Privacy Policy, plus optional switches (training data, referrals) that are separate consents and not required to use the app. When a version changes you are asked again.
Sign in
Two ways:
- Continue in browser — opens auth.codai.ro in your system browser (Google or email). When you finish there, come back to the app: it received a
codai_key for this device, stored in the app's secret store on this machine only. - I have an API key — paste a
codai_…key from hub.codai.ro → Keys. The app checks it against the gateway before saving it.
A third option, Use a local model instead, skips the account entirely: Ollama or LM Studio on this computer, free and private, but without sessions sync, sharing or the wallet.
Leave Gateway URL at its default (https://ai.codai.ro) unless you self-host.
Pick a skin
How should codai look? — choose Assistant (one calm conversation column, like the phone app) or Developer (editor, terminals, panels — the full workbench). You can switch at any time with Ctrl+K M or Settings → Skins.
Skins
The skin is the shell the main window renders. Switching never stops anything — terminals, agents, editors and browser tabs keep running underneath.
| Skin | What you see | When |
|---|---|---|
| Assistant | One conversation column, a composer, the agent's steps. | Everyday tasks, non-code folders. Default. |
| Developer | Dockable editor, diff review, terminals, file explorer, Git, supervisor panel. | Working on a project. |
| Focus | Developer with every chrome part hidden; Esc brings it back. | Heads-down. |
Open a folder with no code and codai offers to switch to Assistant; open a code project and it offers Developer. Settings → Skins → Use for this workspace only pins a skin to one folder.
Autonomy levels
Autonomy controls what the agent may do on your computer without asking. It applies to computer control (Windows apps) and is shown in the status bar — click it to cycle.
| Level | Behaviour |
|---|---|
| Strict | Ask before every action in sensitive apps and before any key chord that can close or destroy work. |
| Assisted | Act freely in ordinary apps; ask in sensitive ones (passwords, banking, settings) and never type secrets. Recommended. |
| Autopilot | No approval gates except the credential filter. Use only when you are watching. |
Independent of autonomy, shell commands, file writes and browser actions ask for approval the first time per session: Allow once, Always allow (this session) or Deny. Reading files and taking a browser snapshot never ask.
Computer control and the overlay
Settings → Computer control lets the agent see and operate Windows apps through UI Automation: read the controls of a window, click, type, scroll, open programs. Actions are gated by the autonomy level above and mirrored on the overlay — a ghost cursor, a highlight ring on the target and a caption saying what the agent is about to do. Turn the overlay off with Show the overlay while the agent acts if you find it distracting.
Kill switch: Ctrl+Alt+Space, or Esc twice, stops the agent instantly. Your own mouse or keyboard input pauses it. Windows-only.
Hosts — serve your phone and the browser
Settings → Executor → Serve as a remote host for my phone turns this desktop into a host: a machine that your other clients can run terminal and file operations on, inside the allowed folders. The status bar shows Relay: online while the connection to the gateway is up.
Who uses it:
- The Android app — "run this on my PC" tasks and the
hoststerminal backend. - The web app at app.codai.ro — the Run on picker lists your online desktops; the browser chats, this machine executes. See Web.
Only devices signed in with the same account can see or use a host; a host drops off the list 45 seconds after its last heartbeat. Protocol details are on the hosts relay page.
Separately, Run tasks dispatched to this device (same settings section) lets your phone or the hub dispatch a whole task to this desktop; it polls every 30 seconds and runs it here.
What it may touch
Settings → Executor:
- Approved folders — the only places file tools can read or write. Default: your home folder. Paths are canonicalised, so
..and symlinks pointing outside are refused. - Browser executable — autodetects Edge or Chrome; always launched with its own profile folder, so your tabs, cookies and passwords are never involved.
- Budgets — timeouts for one command (default 30 s), one tool call and a whole turn (default 10 minutes). Output is capped at 64 KB per stream.
- Semantic search — opt-in local model (
multilingual-e5-small, one-time ~205 MB download) that indexes the workspace on this PC. Nothing leaves it.
Updates
The app checks https://codai.ro/api/desktop/latest.json. If a newer version is listed it downloads the installer, verifies its minisign signature against the public key compiled into the app, and installs it. An update whose signature does not match is refused; the updater never downgrades. Check by hand from About → Check for updates.
Updates are Windows-only today (windows-x86_64 in latest.json; linux-x86_64 is added when an AppImage was built for that version). The portable .zip has no updater.
Uninstall and data locations
Uninstall from Settings → Apps (Windows) or with your package manager (Linux). The uninstaller does not delete your data:
| What | Where (Windows) |
|---|---|
| Settings, secrets (your key), device id, broker registry | %APPDATA%\ro.codai.desktop\ (settings.json, secrets.json, device.json, broker.json) |
| Traces, memory (SQLite + FTS), file checkpoints, per-workspace state, local models | %LOCALAPPDATA%\codai\ |
| Browser profile used by the browser tool | inside %LOCALAPPDATA%\codai\ |
On Linux the same folders live under ~/.config/ro.codai.desktop and ~/.local/share/codai.
Before uninstalling, Settings → Sign out revokes this device's key on the server. If you forgot, revoke it from hub.codai.ro → Security → Devices.
Keyboard
| Shortcut | Action |
|---|---|
Ctrl+Enter | Send, or answer the pending question |
Esc | Cancel the running turn |
Ctrl+Alt+C | Open or hide the floating chat (from any app) |
Ctrl+Alt+Space | Kill switch — stop computer use (Esc ×2 too) |
Ctrl+Shift+P | Command palette |
Ctrl+K M | Cycle skins |
Ctrl+Shift+G | Git view |
Ctrl+, | Settings |
Every binding can be changed in Settings → Keybindings.