Windows end-to-end validation
July 19, 2026 · View on GitHub
The native Windows port is code-complete and CI-green on x86_64-pc-windows-msvc (build,
cargo fmt, clippy, and the workspace test suite, with the tmux-only tests self-skipping and
the Windows host/backend integration tests running). CI runs on a fresh GitHub windows-latest
runner, which cannot exercise the interactive, durable, multi-process behavior that defines
repomon.
This checklist is the remaining manual gate. It requires a physical (or full-VM) Windows 11 machine with Windows Terminal, Git for Windows, and native Claude Code installed. Until it passes end to end, no Windows release should be tagged, and the binaries stay unsigned (so SmartScreen will warn; see the README's Windows platform notes).
Run it against a build from release/windows-preview (cargo build --release, or install.ps1
once a preview zip exists). Keep repomon.exe, repomond.exe, and repomon-agent-host.exe in
the same directory.
Checklist
- Install / boot.
install.ps1(or a from-source build on PATH) →repomonlaunches, the daemon auto-spawns over the named pipe, the Fleet view renders. Repo/lane CRUD works with no agents yet. - Service install.
repomon daemon installregisters a logon task via Task Scheduler; the daemon comes back after a sign-out/sign-in.repomon daemon statusreports it;repomon daemon uninstallremoves it. - Spawn a Claude agent + needs-you cycle. Add a repo → create a lane (worktree under
C:\Users\<u>\code\...) → spawn a Claude Code agent. It reaches Running, then a permission/end-of-turn prompt floats it to the top as needs you; answering it clears the flag. - Durability / re-adoption. Kill
repomond.exewhile the agent is mid-work. Relaunch the TUI (or let it auto-start the daemon) → the agent is re-adopted, still alive, with scrollback intact. Confirm a hand-killed host's registry entry is GC'd on the next scan. - Focus view + input. The embedded focus view renders the live agent from the host's
server-side terminal; typing (
i) reaches the agent. - Pop-out attach + detach.
↵/→/aopens the agent in a new Windows Terminal tab (repomon attach-host). Typing in the tab and the embedded view stay consistent; an alternate-screen TUI (Claude Code) renders correctly.F12detaches and leaves the agent running. - Clipboard + image paste. Copy from a pane lands on the Windows clipboard
(
Set-Clipboard);Get-Clipboardpaste works; image paste (v) saves the clipboard image to a temp PNG and inserts its path. - Toast on needs-you. A
needs-youtransition fires a Windows toast notification when the TUI is not already looking at that agent (including with the TUI closed). - Shell-init cd-on-exit.
repomon shell-init powershell | iexin$PROFILE; pressingcon a lane exits repomon andcds the PowerShell session into that worktree (via theREPOMON_CD_FILEtemp file). - iOS pairing against the Windows daemon. Enable the remote bridge, pair the iOS companion app against the Windows daemon's tailnet address. The JSON-RPC protocol is unchanged across the transport swap, so fleet view, live conversations, and the Approve button should just work.
After it passes
- Tag a Windows release (see "Cutting a Windows release" in ../STATUS.md) and
test the
install.ps1one-liner on a clean VM. - Code-sign the three binaries so SmartScreen stops warning; drop the unsigned-binary note from the README once signing ships.