Skip to content

✅ Idea 1: Run Copilot CLI on an Always-On Cloud Device

Field Detail
Priority 📌 Important
Status ✅ Complete (deployed 2026-04-20)
Category 🎓 Learning Project / 💼 Official
Date added 2026-03-28
Date completed 2026-04-20
To-Do link M23 on To-Do List

The Problem

Copilot CLI currently runs on your corp laptop. If the laptop is off, sleeping, or you're away from it, Copilot CLI isn't available. Additionally, if you switch devices (e.g., to a personal device), you need to set everything up again.

The Solution

Windows 365 Cloud PC — a full Windows desktop in the cloud, always on, accessible from any device via Remote Desktop or browser. Copilot CLI runs identically to the laptop with the same brain, memory, and tools.

Why W365 won over alternatives

Option Verdict Why
Windows 365 ✅ Chosen Already provisioned via corp licence, full Windows desktop, OneDrive Personal syncs, RDP from any device
Azure VM Pay-per-hour cost, manual maintenance, no corp management
Azure Dev Box Overkill — designed for dev teams, not a solo CLI workstation
Container No GUI, no OneDrive sync, auth complexity

What Was Deployed

Tools installed (via Scoop — no admin rights needed)

Tool Version Scoop ID
Node.js LTS 24.15.0 nodejs-lts
Git 2.53.0 git
GitHub CLI 2.90.0 gh
Hugo Extended 0.160.1 hugo-extended
Python 3.14.4 python
Windows Terminal Latest windows-terminal
Copilot CLI Latest via gh copilot (built-in)

⚠️ Key learning: No admin rights on W365. Winget requires admin; Scoop installs everything to ~/scoop/ in user space with zero admin. This was discovered during deployment and the setup script was updated.

Repos cloned

Repo Path Purpose
aguidetocloud-revamp C:\ssClawy\aguidetocloud-revamp Main site (Hugo)
guided C:\ssClawy\guided Guided platform (Astro)

Config & secrets

Item Status
copilot-instructions.md ✅ Copied from laptop package
copilot-instructions-reference.md ✅ Copied
session-journal.md ✅ Copied
Secrets (PAT, GA keys) ✅ Copied to ~/.copilot/secrets/
config.json ✅ Auto-adapted for W365 username
mcp-config.json ✅ Auto-adapted for W365 paths
m365-admin-graph MCP server ✅ Copied with node_modules
GH_TOKEN env variable ✅ Set permanently
Git Credential Manager ✅ Configured (susanthgit account)

Copilot CLI path fix

The copilot binary installs to C:\Users\ssutheesh\AppData\Local\GitHub CLI\copilot\ which isn't in PATH by default. Fixed with:

$copilotPath = "$env:LOCALAPPDATA\GitHub CLI\copilot"
[System.Environment]::SetEnvironmentVariable("Path", [System.Environment]::GetEnvironmentVariable("Path", "User") + ";$copilotPath", "User")

Deployment Process (Reproducible)

Step 1 — On laptop: create package

pwsh C:\ssClawy\w365-setup\prepare-package.ps1

Creates w365-copilot-package.zip (~15.6 MB) containing configs, secrets, MCP servers.

Step 2 — Transfer via OneDrive Personal

Package placed in OneDrive\W365-Setup\ → auto-syncs to W365.

Step 3 — On W365: install Scoop + tools

# Install Scoop (no admin)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
irm get.scoop.sh | iex

# Install tools one by one (automated script may stall — manual is reliable)
scoop install git
scoop install nodejs-lts
scoop install gh
scoop install hugo-extended
scoop install python
scoop install windows-terminal

Step 4 — On W365: run config setup

cd "$env:USERPROFILE\OneDrive\W365-Setup"
Expand-Archive .\w365-copilot-package.zip -DestinationPath .\package -Force
cd package
# Run Phase 3-7 config block (see roaming-copilot-setup.md for full commands)

Step 5 — Authenticate & launch

gh auth login  # GitHub.com → HTTPS → Paste PAT
copilot        # Launch Copilot CLI

Step 6 — Security cleanup

Remove-Item "$env:USERPROFILE\OneDrive\W365-Setup" -Recurse -Force

Lessons Learned

  1. No admin on W365 — corp policy blocks winget/MSI installs. Scoop is the solution.
  2. Scoop's automated script can stall — running scoop install <tool> one at a time is more reliable than a loop.
  3. Long PowerShell commands break when pasted into W365 RDP — multi-line commands get split at the wrong point. Keep commands short or use a script file.
  4. OneDrive Personal is the sync backbone — Google Drive can't be installed (corp policy), but OneDrive Personal works perfectly for transferring packages and (future) live brain sync.
  5. copilot binary needs PATH fixgh copilot installs to AppData\Local\GitHub CLI\copilot\ which isn't auto-added to PATH.
  6. Git Credential Manager — select "manager" and "always use" when prompted. Authenticate with susanthgit (personal GitHub, susanth.ss@gmail.com).

Outstanding Tasks

Task Status Notes
M24: OneDrive symlink sync ⬜ Pending Auto-sync brain files between laptop ↔ W365
M25: Mac setup ⬜ Pending Personal susanthgit account, Homebrew
M26: Validate enterprise licence on non-corp ⬜ Pending Test EMU auth on Mac
Azure CLI on W365 ⬜ Optional scoop install azure-cli when needed
YouTube MCP on W365 ⬜ Optional npm install -g youtube-channel-mcp + copy OAuth tokens

Full Setup Documentation

See Roaming Copilot CLI — Multi-Device Setup for the comprehensive architecture, sync strategy, and device comparison.