✅ 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¶
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¶
Step 6 — Security cleanup¶
Lessons Learned¶
- No admin on W365 — corp policy blocks winget/MSI installs. Scoop is the solution.
- Scoop's automated script can stall — running
scoop install <tool>one at a time is more reliable than a loop. - 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.
- 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.
copilotbinary needs PATH fix —gh copilotinstalls toAppData\Local\GitHub CLI\copilot\which isn't auto-added to PATH.- 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.