Install VCode on Windows
irm https://fezu.dev/install.ps1 | iex
Run in PowerShell, this command installs VCode on Windows itself: no WSL, no Linux, no administrator rights and no restart. It puts VCode in your user profile, starts it, and opens your browser to connect the computer to your account. VCode then starts each time you log in to Windows and keeps itself up to date. The command also installs the VCode desktop app, in the Start menu as VCode (desktop-app).
Why you would use it
Your desk PC or a spare laptop runs Windows, and you want to drive the agents on it from your phone. The install takes about a minute, and the agents run as Windows programs in your Windows folders.
How to use it
You need Windows 10 version 2004 (build 19041) or newer, or Windows 11, on an x64 PC.
Open PowerShell (Start, type PowerShell, Enter). You do not need to run it as administrator.
Run:
irm https://fezu.dev/install.ps1 | iexOr copy the Windows command from Add a workstation on fezu.dev/account (add-a-workstation). It sets a join code first, so the computer links to the account that made the code with no browser step:
$env:V_CODE_JOIN='<code>'; irm https://fezu.dev/install.ps1 | iexAt the end VCode opens on its login card: in the desktop app the command has just installed, else in Chrome, else Edge. The card reads
Create an account or log in to connect <computer>. We send a code to your email.Type your email and click Continue, then enter the code the email brings. A new email makes a new account with 30 days of the full plan (free-trial); an email you have used logs in to your account. The PC is linked to that account, VCode comes back signed in with the PC in it, and PowerShell printsLinked to <email>(link-this-box). A join command opens the desktop app signed in instead.Open app.fezu.dev on your phone and sign in with the same email. The computer is in your list.
Later, type
v-codein a new terminal to open VCode. On a computer linked to your email it opens the desktop app signed in, or app.fezu.dev in the browser without the app. On a PC not linked it runsv-code box link, and on one still on an older trial account it runsv-code box trial, which gets no new start link now: open VCode on a device signed in to that account.
To drive an agent, it must be installed on the computer. The installer does not check. New thread in the app offers to install one (install-an-agent).
What you see
Every line from the installer starts with v-code:. A first install prints:
v-code: installing <version>, thenv-code: downloading <version> (<n> MB)v-code: wrote <your profile>\.config\v-code\env (port <port>), or on a second runv-code: env file exists, left alone: <path>v-code: added <your profile>\AppData\Local\v-code\bin to your PATH; in a new terminal, v-code opens VCodev-code: wrote <Startup folder>\VCode.lnk, which starts VCode when you log in to WindowsVCode desktop app: installed <version>, or a reason it was skipped or failed (desktop-app). A failed app step never stops the installv-code: VCode <version> is running on port <port>v-code: VCode sends install counts: an "install started", an "install completed" and a "VCode launched" event with your operating system and the app version, and no ID. The request exposes your IP address to our analytics service, which does not store it. Set V_CODE_NO_ANALYTICS=1 before the install to opt out. Details: https://fezu.dev/privacy#installer, unless you setV_CODE_NO_ANALYTICS(install-counts)- the link step's lines:
Opening VCode to connect this computer…andIf it doesn't open, go to <address> on any device, and paste the code it shows here:, thenLinked to <email>once you have logged in (link-this-box). OrOpened the VCode app.when the desktop app opened after a join, the trial's lines on a PC still on an older trial account (free-trial), orv-code: Already linked to <email>on a computer that is linked. A link that fails printsv-code: The link did not complete. Try again with: v-code box link. v-code: Use it in the app: https://app.fezu.dev, when the step before gave no link: after a join, on a computer already linked to an email, withV_CODE_NO_LINK, or after a link that failed.
The checks that stop it before anything is written:
| Check | Message |
|---|---|
| x64 | v-code: this PC is ARM64; VCode for Windows needs an x64 PC for now. |
| Windows 10 2004 or newer | v-code: Windows build <build> is too old; VCode needs Windows 10 version 2004 (build 19041) or newer. |
tar.exe and curl.exe |
v-code: <tool> is missing from this Windows; it comes with Windows 10 1809 and newer. |
| the OpenSSH client | v-code: the OpenSSH client is missing, and VCode checks its download with it. Add it under Settings > System > Optional features > OpenSSH Client, then run this again. |
V_CODE_JOIN is a join code |
v-code: V_CODE_JOIN is not a join code; copy the command again |
A download that does not check out stops it too:
v-code: signature check failed for releases/<v>/manifest-win-x64.json: ...,
v-code: the download does not match the signed manifest: ....
When VCode does not answer within 90 s:
v-code: VCode did not answer on port <port>. Its log: <your profile>\AppData\Local\v-code\logs\server.log.
Options and settings
Set these in the same PowerShell window before the command, for example
$env:V_CODE_CHANNEL = 'dev'.
| Option | Default | What it changes |
|---|---|---|
V_CODE_JOIN |
unset | A join code from Add a workstation: links with it instead of the browser |
V_CODE_NO_ANALYTICS |
unset | Any value: no install counts (install-counts) |
V_CODE_NO_LINK |
unset | Any value: skip the link step; run v-code box link later |
V_CODE_UNINSTALL |
unset | Any value: remove VCode instead of installing it (see Remove it) |
V_CODE_APP |
unset | no: skip the desktop app. only: install only the desktop app, no box (desktop-app) |
V_CODE_START |
unset | With V_CODE_APP='only': the start code that signs the app in |
Limits and known gaps
- Beta. Checked on a Windows 11 virtual machine: install,
link, an agent turn,
!lines, files, an update, a rollback and a restart. The full list of what differs from Linux is kept with the code. - x64 only. No Windows on ARM yet.
- VCode runs while you are logged in to Windows. It starts from
VCode.lnkin your Startup folder at each login, and stops when you log out. A computer installed before version 0.0.849 does not start it at login: run the install command again, and the new shortcut replaces the old one. - The Terminal panel (a shell on the computer, in the app) is not available on
Windows.
!lines in a thread work: they run in Git Bash when Git for Windows is installed, else in PowerShell. - Hourly agent updates, and the agent step of
/update, do not run on Windows. Update each agent with its own command (claude update). - The app installs Claude Code, Codex, OpenCode, Cursor, Devin, Copilot and Muse on Windows. Copilot installs with
winget install --id GitHub.Copilot --exact --silent --accept-source-agreements --accept-package-agreements, and Muse withirm https://dev.meta.ai/install.ps1 | iex. - Voice dictation, per-tab memory limits and previews of local web servers are not available on Windows yet.
- A computer whose clock is wrong cannot connect: the page says
the request signature is missing, stale or wrong; check this device's clock, then reload the page.
Remove it
In PowerShell:
$env:V_CODE_UNINSTALL=1; irm https://fezu.dev/install.ps1 | iex
It stops VCode and removes the app, the Startup shortcut and the PATH entry,
and the desktop app with its Start menu entry and its start at login.
Your threads stay in %LOCALAPPDATA%\v-code\state and your settings in
%USERPROFILE%\.config\v-code\env. Remove the computer from your account under
Workstations on fezu.dev/account.
Related
- free-trial: the 30 days a new account gets
- link-this-box: the link step at the end
- add-a-workstation: the command with a join code
- update-automatically: how a box keeps itself up to date
- release-channels: stable and dev
- install-on-linux: the same on Linux
- install-on-macos: the same on a Mac
- install-counts: what the installer reports, and how to turn it off
- use-the-app: where you use the box once it is linked
- desktop-app: the window the command installs