Skip to content

feat: Windows 10 single-click WSL2 installer (install-clawdbot.bat) #734

@NicholasSpisak

Description

@NicholasSpisak

Summary

Single-click .bat file for Windows 10 users that installs Clawdbot via WSL2. User downloads file to desktop, double-clicks, and gets a working Clawdbot environment.

Motivation

Lower the barrier for Windows users. Current docs recommend WSL2 but require manual setup. A single-click installer makes onboarding trivial.

Proposed Design

install-clawdbot.bat - State machine that detects current state and does the right thing:

State 1: WSL not enabled
  → Enable WSL
  → Add self to RunOnce registry (auto-run after reboot)
  → Reboot

State 2: WSL enabled, no Ubuntu
  → Install Ubuntu
  → Wait for Ubuntu first-run (user sets username/password)
  → Run Node setup inside Ubuntu

State 3: WSL + Ubuntu ready
  → Install Node 22 + pnpm + clawdbot
  → Print "run: clawdbot onboard"

Technical Notes

  • Requires "Run as Administrator" for first run (WSL enable)
  • Ubuntu first-run is interactive (username/password) - cannot be fully automated
  • Uses RunOnce registry key to survive reboot and continue installation

What gets installed

  1. WSL2 + Ubuntu
  2. Node.js 22 (via NodeSource)
  3. pnpm
  4. clawdbot (global npm package)

Out of Scope (for v1)

  • Native Windows install (WSL2 is the supported path)
  • Optional dependencies (FFmpeg, Playwright)
  • Silent/unattended Ubuntu setup

Context: Design Conversation

This issue was designed through a conversation with an AI assistant. Key decisions:

Q: Native Windows or WSL2?

"go with wsl - do not over-engineer this - I need bare bones install right now not a rocket ship"

Q: Single script or two scripts?

"single script - single bat file that can go on a users desktop that all they do is click"

The full design discussion is preserved in this issue for context.

Acceptance Criteria

  • Single .bat file
  • Works on clean Windows 10 machine
  • Survives required reboot
  • Ends with working clawdbot command in WSL
  • Clear user instructions printed at end

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions