Install initech on Windows
One-line native install (recommended) or a full WSL2 setup.
Pick your path
initech now ships a native Windows binary. Most Windows users want the one-liner:
- Native Windows (recommended) — a single PowerShell line installs
initech.exe. Pick this unless you have a specific reason to run Linux. - Windows via WSL2 (alternative) — installs the Linux build inside an Ubuntu container. Pick this if you already use WSL2 daily, or you want a Linux dev environment alongside initech.
Both paths produce a working initech. Native is simpler for new users and course attendees; WSL2 is the right call if your project already lives in WSL2 or you need Linux-only tools next to it.
Native Windows (recommended)
The PowerShell installer detects your CPU architecture, downloads the matching tarball from GitHub Releases, verifies its SHA256 against the published checksums.txt, and places initech.exe in %LOCALAPPDATA%\initech\bin\. It then adds that directory to your user PATH. No admin rights are needed.
Native prerequisites
- Windows 10 build 17763 (version 1809) or newer, or any Windows 11. Older builds lack ConPTY, which initech requires for terminal emulation.
- PowerShell 5.1+ (built into every supported Windows version).
tar.exeon PATH (bundled with Windows 10 build 17063+ and all Windows 11).- An internet connection.
Press Win + R, type winver, press Enter.
Open Windows Terminal (recommended) or any PowerShell window and run:
PS> irm https://initech.sh/install.ps1 | iex
irm is Invoke-RestMethod and iex is Invoke-Expression — the standard one-liner pattern used by Scoop and others. The script prints what it is doing at every step and bails out with a clear error if checksum verification fails.
To pin a specific version (skip the latest-tag lookup):
PS> $env:INITECH_VERSION = "v1.18.0" PS> irm https://initech.sh/install.ps1 | iex
initech vX.Y.Z installed box at the end. If you see a red checksum or 404 error, retry — transient network issues are the most common cause.The installer updates your user PATH, but the existing terminal does not pick up the change. Close the current PowerShell window and open a new one, then:
PS> initech version
v1.18.0. If you get command not found, the new terminal's PATH did not include the install dir — check that %LOCALAPPDATA%\initech\bin\initech.exe exists and that no group policy is overriding user PATH.PS> initech doctor
initech doctor checks every dependency (initech itself, claude, git, terminal size, PATH) and prints a green/red report. Anything red needs to be fixed before you bootstrap a project. The most common gap on a fresh Windows install is Claude Code — see the Claude Code install guide.
All checks passed.Once doctor is clean, follow the Getting Started walkthrough for the rest of the first-session experience: initech init, initech send, initech peek, initech status.
Antivirus and SmartScreen
Some antivirus tools quarantine fresh-downloaded executables. If Windows Defender SmartScreen blocks initech.exe with "Windows protected your PC", click More info then Run anyway. Strict corporate antivirus may flag the binary on first run; submit it to your IT team for allow-listing if needed.
Native gotchas
cmd.exe vs PowerShell vs Windows Terminal. initech draws a TUI with box-drawing glyphs and ANSI color. Windows Terminal renders it correctly. Plain cmd.exe and the legacy console host do not — text shows as boxes and color is dim or missing. Always run initech inside Windows Terminal.
PATH after a sysadmin policy. Some managed devices override user PATH on login. If initech works in the installer's terminal but not after a reboot, ask your admin to whitelist %LOCALAPPDATA%\initech\bin\ or add it to a machine-level path entry.
Updating. Re-run the one-liner — the installer overwrites the existing binary and verifies the new checksum. To uninstall, delete %LOCALAPPDATA%\initech\ and remove the entry from your user PATH in System Properties → Environment Variables.
Windows via WSL2 (alternative)
Pick this path if you already use WSL2 daily, or you want a Linux dev environment alongside initech. It is more steps and more dependencies than the native path, but identical behavior once running.
You will run two terminals during this section:
- PowerShell for WSL2 setup (steps 01-02)
- Ubuntu in WSL2 for installing and running initech (steps 03-07)
Prompts in code blocks make the distinction explicit: PS> means PowerShell, $ means the Ubuntu shell inside WSL2.
WSL2 prerequisites
- Windows 10 build 19041+ or Windows 11 (any edition, Home is fine)
- Local administrator rights for the initial WSL2 install (steps 01-02 only)
- About 4 GB of free disk space for the Ubuntu image and dependencies
- An internet connection
If you already use WSL2 daily, skip to step 03 to confirm your shell is not running as root, then continue.
Press Win + R, type winver, press Enter. A dialog shows your version and build number.
If your build is too old, run Windows Update before continuing.
Open PowerShell (right-click Start menu, choose "Windows Terminal (Admin)" or "PowerShell (Admin)") and run:
PS> wsl --install
This installs the WSL2 platform, sets WSL2 as the default version, downloads the Ubuntu image, and registers it. Reboot when prompted.
After reboot, Ubuntu launches automatically and asks you to create a UNIX username and password. The password does not echo as you type — that is normal. This account is separate from your Windows account.
If wsl --install reports nothing happened or the command is missing, your machine has WSL1 partially configured. Run these instead:
PS> wsl --set-default-version 2 PS> wsl --install -d Ubuntu
username@hostname:~$ prompt. From this point on, every command in this guide runs inside that Ubuntu shell.Confirm WSL2 (not WSL1) is in use by running this in PowerShell:
PS> wsl -l -v NAME STATE VERSION * Ubuntu Running 2
The VERSION column must say 2. If it says 1, run wsl --set-version Ubuntu 2 and wait for the conversion.
Strongly recommended: install Windows Terminal from the Microsoft Store before continuing. The plain WSL console window has limited color, no mouse support, and rough font handling. initech's TUI looks correct in Windows Terminal and broken in the legacy console. Once installed, click the dropdown next to the new-tab button and pick Ubuntu for every command from here on.
WSL2 sometimes drops you into a root shell — usually after an upgrade, a manual import, or certain custom images. Running initech as root is not supported: many of its tests rely on POSIX permission checks that behave differently when uid 0 owns every file. Check your user before continuing:
$ whoami your-username
root. If whoami prints root, follow the recovery steps below.Recovery if you landed as root: create a regular user, give them sudo, and tell WSL2 to use that user by default.
# Inside the Ubuntu shell, while still root: # adduser your-username # usermod -aG sudo your-username
Then create or edit /etc/wsl.conf so the next launch logs you in as that user instead of root:
# cat > /etc/wsl.conf << EOF [user] default=your-username EOF
Apply the change. From a PowerShell window on Windows:
PS> wsl --shutdown
Reopen the Ubuntu terminal. The shell should now log in as your-username, not root.
whoami prints your-username, and the prompt is $ not #. Only continue once this is true.Inside the Ubuntu shell:
$ sudo apt update && sudo apt install -y curl git ca-certificates nodejs npm
Most fresh Ubuntu images already have curl and git, but running this once guarantees you have the right versions and certificates. nodejs and npm are required by Claude Code, which is distributed as an npm package — install them now so step 05 works.
curl --version reports curl 7.x or later, git --version reports git 2.x or later, and node --version prints a version (any 18+ is fine).initech runs Claude Code inside each agent pane, so Claude Code must be installed and authenticated before initech is useful. Follow the Claude Code install guide, then sign in:
$ claude login
claude --version prints a version, and claude opens an interactive session you can quit with Ctrl+C.$ curl -fsSL https://initech.sh/install.sh | bash
The script downloads the Linux binary for your architecture (amd64 or arm64) and places it in ~/.local/bin.
On a fresh Ubuntu user, ~/.local/bin is not on PATH yet. Add it now so the initech command resolves in every new shell:
$ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc $ source ~/.bashrc
initech version prints a version like v1.x.x, and which initech shows a path under your home directory. If initech: command not found, the PATH export above did not stick — open a new Ubuntu terminal and try again.$ initech doctor Prerequisites ok initech v1.3.0 ok claude (Claude Code) ok git 2.44.0 ok Terminal: 212x56 (meets 80x24 minimum) All checks passed.
Doctor checks every dependency and your terminal size in one shot. Fix anything it flags before continuing.
Bootstrap your first project:
$ mkdir ~/myproject && cd ~/myproject $ initech init $ initech
Run these in an interactive terminal. initech init uses an arrow-key + space-bar selector to pick agents and prompts you for project metadata. It cannot be piped, redirected, or run from a non-TTY context (CI scripts, ssh -T, headless runners). If you see not a tty or the selector renders garbled, you are not in a real terminal session — open Windows Terminal directly and run the commands there.
Alt+q to quit when you are done exploring.The full Getting Started guide picks up from here with sending messages, peeking, and shutting down.
Pick a good terminal (WSL2)
The default Ubuntu console window from wsl --install works, but it has limited font support and no tab bar. For initech, use one of these instead:
- Windows Terminal (recommended, free from Microsoft Store) — handles glyphs, true color, and lets you split panes alongside PowerShell tabs
- WezTerm — cross-platform, GPU-accelerated, scriptable
- Alacritty with a WSL2 launcher entry
To open Windows Terminal directly into your Ubuntu shell, install it from the Microsoft Store, then click the v arrow next to the new-tab button and pick Ubuntu from the dropdown. Set Ubuntu as the default profile in Settings if you want every new tab to land in WSL2.
WSL2 gotchas
Project location. Keep your code under your Linux home directory (~/myproject), not under /mnt/c/. File access from WSL2 to the Windows drive crosses a translation boundary and is much slower. If you need to open a Windows file from WSL2, use /mnt/c/Users/<you>/....
Clipboard. WSL2 does not auto-share the clipboard between Linux and Windows. The simplest path is to copy text out of Ubuntu by piping to clip.exe (a Windows binary that WSL2 can call directly):
$ cat file.txt | clip.exe
Pasting in Windows Terminal works as expected — Ctrl+Shift+V. If you want Linux-side copy/paste behavior (xclip, wl-copy) inside the WSL2 shell, you need to install one of those tools and configure WSLg or X11 forwarding. For most course work, clip.exe + Windows Terminal selection is enough; reach for xclip only if you have a specific Linux app that calls it.
Networking. initech listens on localhost by default. WSL2 forwards localhost to Windows automatically, so any browser on Windows can reach the web companion at localhost:9100. On corporate networks behind a firewall, you may need to allow WSL2 traffic in your VPN or zero-trust agent.
Persistence. Closing the Ubuntu window does not kill running processes. Closing the WSL2 instance with wsl --shutdown does. If you start initech, close Windows Terminal, and reopen it, your initech session may still be running.
WSL2 troubleshooting
"WslRegisterDistribution failed with error: 0x80370102". Virtualization is disabled in BIOS. Reboot, enter BIOS/UEFI setup, enable Intel VT-x or AMD-V (and "SVM Mode" on AMD), save, and retry.
"The Windows Subsystem for Linux instance has terminated". Run wsl --update in PowerShell, then restart WSL with wsl --shutdown followed by reopening the Ubuntu terminal.
curl prints "command not found". The base Ubuntu image lacks curl. Run sudo apt update && sudo apt install -y curl and try again.
initech says "Terminal too small". WSL2 launched in a tiny console. Resize the window or switch to Windows Terminal. initech needs at least 80 columns by 24 rows.
Glyphs render as boxes. Your terminal font does not include the characters initech draws. Install a Nerd Font (JetBrainsMono Nerd Font works well) and set it as the Ubuntu profile font in Windows Terminal settings.
Permissions errors writing under /home. WSL2 sometimes mounts /home read-only after a corrupted update. Run wsl --shutdown from PowerShell and reopen Ubuntu. If that does not fix it, see the WSL troubleshooting docs.
What's next
You have a Windows machine running initech end to end. From here:
- Getting started for the rest of the first-session walkthrough
- Configuration to customize roles and permissions
- Communication for agent-to-agent messaging patterns
- Troubleshooting → Windows for native-install issues
Last updated: April 2026