Windows Server 2025 and 2022 runners, with the Visual Studio Build Tools.
Windows Server 2025 and 2022 as Server Core, with the Visual Studio Build Tools, $0.010 a minute at 2 vCPU. A virtual machine is created for each job, so a Windows job takes longer to start than a Linux one: the measured figures are below.
Card required. 3,000 minutes a month at 2 vCPU are included.
The runners
| Label | System | Price at 2 vCPU |
|---|---|---|
| runnersio-2vcpu-windows-2025 | Windows Server 2025, Server Core, Visual Studio Build Tools | $0.010 a minute |
| runnersio-2vcpu-windows-2022 | Windows Server 2022, Server Core, Visual Studio Build Tools | $0.010 a minute |
| GitHub-hosted, 2-core Windows | Read 7 November 2026 from GitHub's runner pricing reference | $0.010 a minute |
GitHub’s price is from its runner pricing reference.
Larger sizes are sold too; the labels page has every size, and the image page has everything installed and everything left out.
Start-up time, measured
Across the 155 completed Windows jobs from 21 October 2026 to 7 November 2026, the median time from queued to started was 3 min 12 s. The middle half took between 2 min 30 s and 5 min 32 s; the range was 58 s to 24 min 55 s. The 10 jobs that had no other Windows job queued within fifteen minutes either side started in 2 min to 5 min 55 s, median 3 min 13 s.
Read from our job records on 7 November 2026. Most of these jobs were our own tests, some in batches, so the longest waits include queueing behind other jobs.
What it is not
- Server Core: no desktop, no Edge, and the Visual Studio IDE is not installed, only its Build Tools.
- Windows containers only: a job cannot start Linux containers or
services:containers. - No nested virtualisation: WSL 2, Hyper-V and the Android emulator do not run.
- No Docker layer cache on Windows.
actions/cacheworks.
A job that needs one of these should stay on GitHub’s runner. A workflow can use both.
The ones worth asking first
How long does a Windows job take to start?
Because a virtual machine is created for each Windows job, a Windows job starts later than a Linux job that finds a machine already running. Measured on 7 November 2026 over 155 completed jobs: a median of 3 min 12 s from queued to started, the middle half between 2 min 30 s and 5 min 32 s, the extremes 58 s and 24 min 55 s.
What is on the Windows runner?
Windows Server 2025 and Windows Server 2022, both as Server Core, with the Visual Studio Build Tools (C++, .NET and MSBuild, without the IDE), the tools GitHub's own Windows images carry apart from a published list of exceptions, and Docker for Windows containers. There is no desktop, no Edge and no Visual Studio IDE.
Can I run Linux containers or nested virtualisation on it?
No. Docker on these images runs Windows containers only, and the machine does not offer nested virtualisation, so WSL 2, Hyper-V and the Android emulator are not available. The Docker layer cache is not offered on Windows either.
Where do Windows jobs run?
On Google Cloud virtual machines. Each job gets its own virtual machine, starting fresh and shared with no other job. Nothing a job leaves on its machine can be seen by another job.
What does it cost?
$0.010 a minute at 2 vCPU on Windows Server 2025, and $0.010 on Windows Server 2022. A job is billed on the minutes it ran, and a job that is still queued is not billed. That is the rate GitHub charges for its 2-core Windows runner, so the reason to move is not the price.
Before you connect
Is my code safe on someone else's runner?
Each job gets its own virtual machine, starting fresh and shared with no other job. Nothing a job leaves on its machine can be seen by another job.
What do you get from my GitHub account?
Access to the repositories you choose, and nothing else. We read their workflow files and job logs, register a runner for each job, and open the pull request that moves them across. Your secrets, environments and branch protection stay on GitHub, and every permission is listed, with what it is for, in the docs under Connect your account.
What if I do not want to depend on a vendor?
The one change a workflow needs is the runs-on label. Your actions, secrets and triggers are untouched, so there is nothing of ours to untangle.
How do I leave?
Change the label back and the job runs on GitHub again. We delete build output and test results 90 days after each job.
Move a Windows job and see the bill
Card required. 3,000 minutes a month at 2 vCPU are included.