Skip to content

Install

Yogeswaran Amsavalli edited this page Oct 3, 2026 · 1 revision

Install

Clayo is built from source for now. Prebuilt Release zips are coming.

Prerequisites

You need Why
Windows 10 or 11 app.manifest declares Windows 10/11 only. The glass title bar needs Windows 11 22H2 or later; older builds keep a plain dark title bar.
.NET 8 SDK The app targets net8.0-windows. The publish below is framework-dependent, so the .NET 8 Desktop Runtime must stay installed (the SDK includes it).
WebView2 runtime Each terminal pane is a WebView2. It ships with current Windows 11.
Claude Code on your PATH Each pane types claude ... into PowerShell, so claude must run from a plain PowerShell prompt.
Git (optional) Only for the branch and diff in the pane header. Without it that field stays empty.

Clayo uses PowerShell 7 (pwsh.exe) if it is on your PATH, and Windows PowerShell (powershell.exe) otherwise (SessionLauncher.ResolveShell).

Publish

From a clone of the repo:

dotnet publish -c Release -r win-x64 --self-contained false -o %USERPROFILE%\.local\clayo

The exe is clayo.exe (AssemblyName in CcxShell.csproj).

Keep the whole publish folder together. Assets\ must sit next to clayo.exe: TerminalPane maps AppContext.BaseDirectory\Assets as the WebView2 virtual host, so the exe can't be copied on its own into a shared bin folder. xterm.js is vendored in Assets\xterm\, so nothing is fetched from the network.

Add Clayo to your PATH

In PowerShell:

$dir = "$env:USERPROFILE\.local\clayo"
$path = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$path;$dir", 'User')

Don't use setx for this: setx truncates PATH at 1024 characters.

Open a new Explorer window (or sign out and in) so it picks up the new PATH.

Start Clayo

  • From Explorer: type clayo in any folder's address bar and press Enter. Explorer runs it with that folder as the working directory, and Clayo opens on a new session there.
  • From a script or prompt: clayo C:\path\to\folder. An explicit folder argument wins over the working directory.
  • From the Start menu or a shortcut: the window opens with no session started. Clayo ignores the working directory when it is its own folder or System32, because nobody chose it (App.Chosen).

One window, always

A second clayo hands its folder to the window you already have and exits, and a new session starts there (SingleInstance.cs: a mutex plus a named pipe). A launch with no folder just brings the window forward.

Closing the window only hides it. Your sessions keep running. To end Clayo and every session, use Quit Clayo from the gear menu at the bottom of the sidebar or from the island's right-click menu.

Start at login

The first time the installed (Release) Clayo starts, it adds itself to your per-user Run key, so it starts hidden at login and the island greets you. Turn it off in Settings › General, or from the gear or island menu (Start at login). See Settings.

Running a dev build beside the installed one

A Debug build (dotnet build, dotnet run) runs next to the installed Clayo instead of handing its folder to it:

Release (installed) Debug
Single-instance mutex Local\CcxShell.SingleInstance Local\CcxShell.SingleInstance.Dev
Handoff pipe CcxShell.Handoff CcxShell.Handoff.Dev
Status line settings file %LOCALAPPDATA%\Clayo\statusline.json %LOCALAPPDATA%\Clayo\statusline.dev.json
Writes the login Run key Yes, on every start unless turned off Never. The switch shows the installed Clayo's state, greyed out: "Only the installed Clayo can change this."

Both builds share the rest of %LOCALAPPDATA%\Clayo: names, branch links, settings and status files.

Updating

  1. Quit Clayo (gear menu or island menu › Quit Clayo). Closing the window isn't enough: it only hides, and the running exe stays locked.
  2. Pull the latest code and run the same dotnet publish command.
  3. Start Clayo again.

The login entry is rewritten on every start of a Release build, so if you publish to a new folder, login starts the new one (LoginStartup.Keep).

Uninstalling

  1. Turn off Start at login (Settings › General, or the gear or island menu). This removes the Clayo value from HKCU\Software\Microsoft\Windows\CurrentVersion\Run.
  2. Quit Clayo.
  3. Delete the publish folder (%USERPROFILE%\.local\clayo).
  4. Remove that folder from your user PATH.
  5. Delete Clayo's own files, if you want them gone:
    • %LOCALAPPDATA%\Clayo (settings, your session names, branch links, status files, crash log)
    • %LOCALAPPDATA%\CcxShell\WebView2 (the terminal panes' WebView2 data)

Your Claude Code transcripts in ~/.claude/projects are Claude Code's and are untouched. Clayo never writes there.

If you delete the Run value by hand instead of using the switch, the next start of a Release Clayo writes it back. The switch leaves a no-login-start marker in %LOCALAPPDATA%\Clayo to stop that.

Clone this wiki locally