> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zerotwo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ZeroTwo desktop app for Windows

The [ZeroTwo desktop app for Windows](https://get.microsoft.com/installer/download/9PLM9XGG6VKS?cid=website_cta_psi) gives you one interface for
working across projects, running parallel chats, and reviewing results.
The Windows app supports core workflows such as worktrees, scheduled tasks, Git
functionality, the built-in browser, file previews, plugins, and skills.
It runs natively on Windows using PowerShell and the
[Windows sandbox](/windows/windows-sandbox#windows-sandbox), or you can configure it to
run in [Windows Subsystem for Linux 2 (WSL2)](#windows-subsystem-for-linux-wsl).

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/zerotwo/ZBhLkrISRhtFImug/images/codex/windows/zerocode-windows-light.webp?fit=max&auto=format&n=ZBhLkrISRhtFImug&q=85&s=c272831a1515ccb89ae9b6795da90a9e" alt="ZeroTwo desktop app for Windows showing a project sidebar, active chat, and review pane" width="1540" height="1000" data-path="images/codex/windows/zerocode-windows-light.webp" />

  <img className="hidden dark:block" src="https://mintcdn.com/zerotwo/ZBhLkrISRhtFImug/images/codex/windows/zerocode-windows-dark.webp?fit=max&auto=format&n=ZBhLkrISRhtFImug&q=85&s=00759b4aa461012949173dc830087704" alt="ZeroTwo desktop app for Windows showing a project sidebar, active chat, and review pane" width="1540" height="1000" data-path="images/codex/windows/zerocode-windows-dark.webp" />
</Frame>

## Download the ZeroTwo desktop app

Download the [ZeroTwo desktop app](https://get.microsoft.com/installer/download/9PLM9XGG6VKS?cid=website_cta_psi) for Windows.

Then follow the [quickstart](/quickstart) to get started.

For enterprise installation and update options, see
[Deploy the Windows app](/configuration).

If you prefer a command-line install path, run:

```powershell theme={null}
winget install --id 9PLM9XGG6VKS -s msstore
```

## Native sandbox

The ZeroTwo desktop app on Windows supports a native [Windows sandbox](/windows/windows-sandbox#windows-sandbox) when the agent runs in PowerShell, and uses Linux sandboxing when you run the agent in [Windows Subsystem for Linux 2 (WSL2)](#windows-subsystem-for-linux-wsl). To apply sandbox protections in either mode, select **Ask for approval** beneath the composer before sending messages to ZeroCode.

Running ZeroCode in full access mode means ZeroCode is not limited to your project
directory and might perform unintentional destructive actions that can lead to
data loss. Keep sandbox boundaries in place and use
[rules](/agent-configuration/rules) for targeted exceptions, or set your
[approval policy to
never](/agent-approvals-security#run-without-approval-prompts) to have
ZeroCode attempt to solve problems without asking for escalated permissions,
based on your [approval and security setup](/agent-approvals-security).

## Customize for your dev setup

<section className="feature-grid">
  ### Preferred editor

  Choose a default app for **Open**, such as Visual Studio, the ZeroTwo desktop app, or another
  editor. You can override that choice per project. If you already picked a
  different app from the **Open** menu for a project, that project-specific
  choice takes precedence.

  <Frame>
    <img className="block dark:hidden" src="https://mintcdn.com/zerotwo/ZBhLkrISRhtFImug/images/codex/windows/open-in-windows-light.webp?fit=max&auto=format&n=ZBhLkrISRhtFImug&q=85&s=bfef4a3a57a31090105386a13aac0543" alt="ZeroTwo desktop app settings showing the default Open In app on Windows" width="786" height="443" data-path="images/codex/windows/open-in-windows-light.webp" />

    <img className="hidden dark:block" src="https://mintcdn.com/zerotwo/ZBhLkrISRhtFImug/images/codex/windows/open-in-windows-dark.webp?fit=max&auto=format&n=ZBhLkrISRhtFImug&q=85&s=917e547d77904d83f30b3d30e54a4141" alt="ZeroTwo desktop app settings showing the default Open In app on Windows" width="786" height="443" data-path="images/codex/windows/open-in-windows-dark.webp" />
  </Frame>
</section>

<section className="feature-grid inverse">
  ### Integrated terminal

  You can also choose the default integrated terminal. Depending on what you have
  installed, options include:

  * PowerShell
  * Command Prompt
  * Git Bash
  * WSL

  This change applies only to new terminal sessions. If you already have an
  integrated terminal open, restart the app or start a new chat before
  expecting the new default terminal to appear.

  <Frame>
    <img className="block dark:hidden" src="https://mintcdn.com/zerotwo/ZBhLkrISRhtFImug/images/codex/windows/integrated-shell-light.webp?fit=max&auto=format&n=ZBhLkrISRhtFImug&q=85&s=1b35265e6651725aea10a8786ec0858e" alt="ZeroTwo desktop app settings showing the integrated terminal selection on Windows" width="788" height="444" data-path="images/codex/windows/integrated-shell-light.webp" />

    <img className="hidden dark:block" src="https://mintcdn.com/zerotwo/ZBhLkrISRhtFImug/images/codex/windows/integrated-shell-dark.webp?fit=max&auto=format&n=ZBhLkrISRhtFImug&q=85&s=2d28deb5f3d9333a366718bdca202099" alt="ZeroTwo desktop app settings showing the integrated terminal selection on Windows" width="788" height="444" data-path="images/codex/windows/integrated-shell-dark.webp" />
  </Frame>
</section>

## Windows Subsystem for Linux (WSL)

By default, the ZeroTwo desktop app uses the Windows-native ZeroCode agent. That means the agent
runs commands in PowerShell. The app can still work with projects that live in
Windows Subsystem for Linux 2 (WSL2) by using the `wsl` CLI when needed.

If you want to add a project from the WSL filesystem, click **Add new project**
or press <kbd>Ctrl</kbd>+<kbd>O</kbd>, then type `\\wsl$\` into the File
Explorer window. From there, choose your Linux distribution and the folder you
want to open.

If you plan to keep using the Windows-native agent, prefer storing projects on
your Windows filesystem and accessing them from WSL through
`/mnt/<drive>/...`. This setup is more reliable than opening projects
directly from the WSL filesystem.

If you want the agent itself to run in WSL2, open **[Settings](zerocode://settings)**,
switch the agent from Windows native to WSL, and **restart the app**. The
change doesn't take effect until you restart. Your projects should remain in
place after restart.

WSL1 was supported through ZeroCode `0.114`. Starting in ZeroCode `0.115`, the Linux
sandbox moved to `bubblewrap`, so WSL1 is no longer supported.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/zerotwo/ZBhLkrISRhtFImug/images/codex/windows/wsl-select-light.webp?fit=max&auto=format&n=ZBhLkrISRhtFImug&q=85&s=ec3653beff48290aa63005312e0569c1" alt="ZeroTwo desktop app settings showing the agent selector with Windows native and WSL options" width="787" height="442" data-path="images/codex/windows/wsl-select-light.webp" />

  <img className="hidden dark:block" src="https://mintcdn.com/zerotwo/ZBhLkrISRhtFImug/images/codex/windows/wsl-select-dark.webp?fit=max&auto=format&n=ZBhLkrISRhtFImug&q=85&s=6279a39df1a6b19c912901c1d2f2e2cf" alt="ZeroTwo desktop app settings showing the agent selector with Windows native and WSL options" width="787" height="442" data-path="images/codex/windows/wsl-select-dark.webp" />
</Frame>

You configure the integrated terminal independently from the agent. See
[Customize for your dev setup](#customize-for-your-dev-setup) for the
terminal options. You can keep the agent in WSL and still use PowerShell in the
terminal, or use WSL for both, depending on your workflow.

## Useful developer tools

ZeroCode works best when a few common developer tools are already installed:

* **Git**: Powers the review panel in the ZeroTwo desktop app and lets you inspect or
  revert changes.
* **Node.js**: A common tool that the agent uses to perform tasks more
  efficiently.
* **Python**: A common tool that the agent uses to perform tasks more
  efficiently.
* **.NET SDK**: Useful when you want to build native Windows apps.
* **GitHub CLI**: Powers GitHub-specific functionality in the ZeroTwo desktop app.

Install them with the default Windows package manager `winget` by pasting this
into the integrated terminal or
asking ZeroCode to install them:

```powershell theme={null}
winget install --id Git.Git
winget install --id OpenJS.NodeJS.LTS
winget install --id Python.Python.3.14
winget install --id Microsoft.DotNet.SDK.10
winget install --id GitHub.cli
```

After installing GitHub CLI, run `gh auth login` to enable GitHub features in
the app.

If you need a different Python or .NET version, change the package IDs to the
version you want.

## Troubleshooting and FAQ

### Run commands with elevated permissions

If you need ZeroCode to run commands with elevated permissions, start the ZeroTwo
desktop app itself as an administrator. After installation, open the Start menu,
find the app, and choose **Run as administrator**. The ZeroCode agent inherits that
permission level.

### PowerShell execution policy blocks commands

If you have never used tools such as Node.js or `npm` in PowerShell before, the
ZeroCode agent or integrated terminal may hit execution policy errors.

This can also happen if ZeroCode creates PowerShell scripts for you. In that case,
you may need a less restrictive execution policy before PowerShell will run
them.

An error may look something like this:

```text theme={null}
npm.ps1 cannot be loaded because running scripts is disabled on this system.
```

A common fix is to set the execution policy to `RemoteSigned`:

```powershell theme={null}
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
```

For details and other options, check Microsoft's
[execution policy guide](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies)
before changing the policy.

### Local environment scripts on Windows

If your [local environment](/environments/local-environment) uses cross-platform
commands such as `npm` scripts, you can keep one shared setup script or
set of actions for every platform.

If you need Windows-specific behavior, create Windows-specific setup scripts or
Windows-specific actions.

Actions run in the environment used by your integrated terminal. See
[Customize for your dev setup](#customize-for-your-dev-setup).

Local setup scripts run in the agent environment: WSL if the agent uses WSL,
and PowerShell otherwise.

### Share config, auth, and sessions with WSL

The Windows app uses the same ZeroCode home directory as native ZeroCode on Windows:
`%USERPROFILE%\.zerocode`.

If you also run the ZeroTwo desktop app inside WSL, the CLI uses the Linux home
directory by default, so it doesn't automatically share configuration, cached
auth, or session history with the Windows app.

To share them, use one of these approaches:

* Sync WSL `~/.zerotwo` with `%USERPROFILE%\.zerocode` on your file system.
* Point WSL at the Windows ZeroCode home directory by setting `ZEROTWO_HOME`:

```bash theme={null}
export ZEROTWO_HOME=/mnt/c/Users/<windows-user>/.zerocode
```

If you want that setting in every shell, add it to your WSL shell profile, such
as `~/.bashrc` or `~/.zshrc`.

### Git features are unavailable

If you don't have Git installed natively on Windows, the app can't use some
features. Install it with `winget install Git.Git` from PowerShell or `cmd.exe`.

### Git isn't detected for projects opened from `\\wsl$`

For now, if you want to use the Windows-native agent with a project also
accessible from WSL, the most reliable workaround is to store the project
on the native Windows drive and access it in WSL through `/mnt/<drive>/...`.

### `Cmder` isn't listed in the open dialog

If `Cmder` is installed but doesn't show in ZeroCode's open dialog, add it to the
Windows Start Menu: right-click `Cmder` and choose **Add to Start**, then
restart ZeroCode or reboot.
