Real Windows, without the VM ceremony

Instant disposable
Windows environments.

Run real Windows commands, builds, tests and desktop apps locally. Every run starts clean. No VM to manage. No remote Windows machine. No waiting for a desktop to boot.

~/project
$ winquick run -- cmd /c ver
Microsoft Windows [Version 10.0.26100.8972]
real Windows kernel~300 msdiscarded after run
~300 mstrivial Windows command
~380 msWindows desktop session
< 1 GBminimal base runtime
0VMs to babysit
CMDPowerShell 7.NET 10WPFWinFormsUI AutomationArtifactsDisposableOffline by default
Windows as a development target

It should feel like running a process.
Not operating another computer.

WinQuick hides the virtualization layer and gives developers and coding agents a simple primitive: run this inside real Windows and return the result.

01

Real Windows

Not Wine. Not mocked APIs. Your command executes against a genuine Windows ARM64 kernel with native Windows filesystem, registry, process and API behaviour.

winquick run -- your-command.exe
02

Disposable by default

Files, registry changes and environment mutations disappear after every run. The base environment stays pristine.

03

Built for iteration speed

A prepared Windows state restores in milliseconds. Fast enough to sit inside edit → test → fix loops without feeling like a VM.

04

Capabilities, not bloated images

Add only what a workload needs: PowerShell, .NET runtime, .NET SDK, desktop support and dependency caches remain modular.

05

Agent-native, CLI-first

Claude Code, Codex and other agents can use the same CLI humans use. No special VM API and no remote desktop orchestration required.

Build & test

Develop Windows software from your Mac.

Cross-build when it makes sense. Build inside Windows when it matters. Either way, WinQuick gives your tests the Windows kernel they actually need.

$ winquick run -w . -- dotnet test
Passed! 9 tests · 0 failed
$ winquick run -- pwsh -Command '$PSVersionTable.PSVersion'
7.6.5
$ winquick run -w . -a "bin/Release/**" -- dotnet publish -c Release
Artifacts → ./winquick-artifacts/
Windows desktop, headless

Build it. Launch it. See it. Use it.

WinQuick can run real WPF and WinForms applications, capture the rendered UI and expose semantic Windows UI Automation controls to coding agents. A desktop session is ready in about 380 ms. Launching an application takes a further ~27 ms, and its first window appears about 660 ms after that. UI Automation reads and clicks are ~20 ms; screenshots ~59 ms for a window. Preparing the desktop environment is a one-time ~17 seconds.

WQ Device Configuration
×
PLC-01
Standard
Saved: PLC-01
SCREENSHOT winquick desktop screenshot app.png
SEMANTIC UI TREE winquick desktop tree --title "Device Configuration"
INTERACT winquick desktop click --automation-id SaveButton
VERIFY winquick desktop get --automation-id StatusText Saved: PLC-01
Quick means quick

Windows in the loop.
Without breaking your flow.

WinQuick restores a prepared Windows environment instead of cold-booting a full workstation for every command. The result feels closer to a local tool than a virtual machine.

CMD ~300ms trivial warm command
.NET ~380ms small framework-dependent app
POWERSHELL ~640ms PowerShell 7 expression
BASE 763MiB minimal Windows runtime

Current measured Apple Silicon development results. Exact timings vary by machine, command and enabled capabilities.

For coding agents

Give your agent an actual Windows machine. For milliseconds.

An agent can often reason about a Windows bug from source. WinQuick lets it verify the fix against real Windows — including WPF and WinForms UI.

WinQuick is a native MCP server, so agents get structured tools rather than shell syntax: build and test on real Windows, launch a WPF or WinForms application, read and drive it through Microsoft UI Automation, and capture real Windows screenshots. Verified with Claude Code.

$ claude mcp add winquick -- winquick mcp
EditRun in WindowsInspectFixVerify
Claude Code
I'll verify this in Windows.
$ winquick run -w . -- dotnet test
Failed: PathTests.NormalizePath
The implementation assumes POSIX separators. Fixing it.
$ winquick run -w . -- dotnet test
Passed! 9 tests · 0 failed
One CLI. Any host.

Cross-platform by design.

Apple Silicon macOS is the first supported host. The architecture is designed to carry the same WinQuick experience to Linux and Windows using native host acceleration.

macOSHVF · available first
LinuxKVM · planned
WindowsWHPX · planned
Get started

From zero to real Windows
in two commands.

WinQuick handles the runtime setup and verifies it with a real Windows command before declaring it ready. Install it with Homebrew on any Apple Silicon Mac. The build is not signed or notarized, but Homebrew fetches the archive itself, so there is no Gatekeeper step.

Terminal
$ brew install carlbomsdata/tap/winquick
$ winquick setup
Windows runtime installed.
Testing the runtime...
Microsoft Windows [Version 10.0.26100.8972]
Ready.
WQ WinQuick

Real Windows.
Ready in milliseconds.

Get WinQuick on GitHub Open source · Apache-2.0