Skip to content

Releases: SQLBImhugh/copilot-cli-launcher

v0.3.0 — Projects, New Session, Cleanup, capabilities + reliability pass

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 10 Aug 17:12

v0.3.0 — Projects, New Session, Cleanup, capability selection + a big reliability pass

First release since v0.2.1. This rolls up two months of work: several new tabs plus major reliability and memory fixes.

✨ New features

  • Projects tab — per-directory launch profiles. Point a project at a folder and every Resume / new-session / launch under that path uses the same settings (flags, terminal, capabilities) automatically. Includes a project picker, per-project launch shortcuts, and bulk import that scans your past session working directories and offers them as projects (aligned import table, sorted by last-used).
  • New Session tab — pick a folder (browse, type, or start from a saved project to inherit its folder + settings), choose the copilot flags you want, and start a fresh Copilot CLI session with a live command preview.
  • Cleanup page — bulk session pruning. Classifies every session as empty, test probe, repeated prompt, or scratch dir, then lets you multi-select and delete. "Protect my work" shields anything you named or that has 5+ summaries; in-use sessions can never be deleted.
  • Structured args editor — on New Session, New Shortcut, and the Projects editor: every supported copilot CLI flag as a checkbox, with dropdowns for enumerated values (--effort, --log-level, --output-format, …) and text/path/number inputs elsewhere. Unrecognized args are preserved verbatim in a passthrough box.
  • Capabilities selector — choose which MCP servers load (enumerated live via copilot mcp list), pick a single custom --agent, set a tool allow/exclude list, or disable skills — per shortcut and as Settings defaults, reflected in the command preview.
  • Per-session delete — a 🗑 button on each Sessions card (with confirmation).
  • Opt-in extension pre-approval — optionally writes copilot's permissions-config.json so it doesn't re-prompt "Extension X wants elevated permissions" for each installed extension on resume/start. Off by default (it auto-approves an extension security gate). Settings → Sessions Resume defaults.

🐛 Reliability & fixes

  • Fixed multi-GB memory use at startup — session repair now streams events.jsonl in two passes instead of loading whole files into memory. On a large session store this cut resident memory from ~1.2 GB to ~200 MB.
  • Repair backup pruning + skip-unchanged scan — events.jsonl.bak-* backups older than a configurable retention (default 7 days) are pruned, and unchanged sessions are skipped on subsequent launches via a fingerprint cache. Both configurable in Settings → Repair.
  • Changelog now captures real release notes — decoupled the startup release-notes fetch timeout from the slow copilot update, force-refresh a stale-but-fresh cache when it's missing the target version, and backfill older note-less entries.
  • Fixed portable build crashing at startup — resources.pri is now staged next to the exe.
  • Removed dead AI-summary toggles — the non-functional "AI summary on resume" and per-shortcut AI-summary/agents.md-override controls (the AI briefing lives on the Changelog → Briefings tab).
  • Confirmation prompts on Clear changelogs/briefings; Sessions launch-default + full-ID display fixes; corrected in-code docs on how --allow-all relates to extension permissions.

📦 Downloads

Asset What it is
CopilotLauncher-portable-v0.3.0.zip Portable main app. Unzip and run CopilotLauncher.exe — keep resources.pri in the same folder (the exe needs it). No install, no admin.
CopilotLauncher-v0.3.0.msix Main app installer (signed).
CopilotLauncher-CmdPal-v0.3.0.msix PowerToys Command Palette extension (signed).
CopilotLauncher-v0.3.0-DevCert.cer Public dev certificate. Import into Local Machine → Trusted People to install the self-signed MSIXes.
SHA256SUMS.txt Checksums for all of the above.

The MSIXes are signed with a self-signed dev certificate. To install one, first import CopilotLauncher-v0.3.0-DevCert.cer into Trusted People (Local Machine), or just use the portable zip, which needs no cert.

Note: unlike v0.2.1, there is no standalone bare .exe asset — the portable exe now requires resources.pri beside it, so it ships as the zip.

Requires: Windows 10 2004+ / Windows 11, x64. GitHub Copilot CLI installed (npm install -g @github/copilot).

v0.2.1 — Window-sizing fix + Sessions quality-of-life

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 08 Jun 14:52

v0.2.1 — Window-sizing fix + Sessions quality-of-life

Four fixes, all reported from daily use of the installed MSIX.

1. Window no longer loads "completely compacted" after a reboot

The launcher (with Start with Windows enabled) could come up collapsed to a tiny title-bar sliver after a reboot — unusable until manually dragged back to size. Root cause was a DPI-scale lifecycle bug in the window sizing: ApplyNormalSize runs before Window.Activate(), so XamlRoot was null and the rasterization scale silently fell back to 1.0, while the AppWindow.Changed size-persistence handler read the real post-activation scale. That asymmetry (restore × 1.0 vs persist ÷ realScale) shrank the saved size on every launch where a >100% DPI context was involved, with no minimum-size clamp to stop the collapse.

Fixes:

  • DPI scale now comes from the Win32 GetDpiForWindow(hwnd) — correct both before and after activation — used symmetrically on restore and persist.
  • Normal-window size is clamped to a 900×700 minimum; the persist handler refuses to save sub-minimum sizes.
  • Startup self-heal: a corrupt saved size (below the minimum) is reset to the 1180×1040 default on launch.

Verified: injecting a corrupt 210×150 saved size now heals to 1180×1040 instead of opening tiny. The deliberate 320×640 compact mode is unaffected.

2. "Recent" filter chip reflects your setting

The Sessions filter chip was hardcoded to "Recent (15d)" even though the actual filter already honored your Recent window (days) setting. The label and tooltip now read the live value (e.g., "Recent (35d)" / "Modified in the last 35 days").

3. Copy session-id button

Each session card has a small copy icon next to the id that copies the full session id to the clipboard.

4. Start-new-session button

Each session card has a small icon next to the working-directory path that launches a fresh Copilot session in that folder (no --resume), using your default new-session flags.

Tests

  • 173 tests green (was 162): added WindowSizingTests plus Sessions ViewModel tests for the recent-label, new-session launch, and unknown-cwd fallback.

Assets

File Use
CopilotLauncher-v0.2.1.msix Recommended. Trust CopilotLauncher-v0.2.1-DevCert.cer to Cert:\CurrentUser\TrustedPeople, then Add-AppxPackage. Installs in-place over v0.2.0.
CopilotLauncher-CmdPal-v0.2.1.msix Optional PowerToys Command Palette extension. Requires the main MSIX.
CopilotLauncher-v0.2.1.exe Portable single-file self-contained .exe. No install required.
CopilotLauncher-portable-v0.2.1.zip Portable folder layout.
CopilotLauncher-v0.2.1-DevCert.cer Dev signing cert (same identity as v0.2.0).
SHA256SUMS.txt Checksums.

Install (MSIX)

Import-Certificate -FilePath .\CopilotLauncher-v0.2.1-DevCert.cer `
  -CertStoreLocation Cert:\CurrentUser\TrustedPeople
Add-AppxPackage .\CopilotLauncher-v0.2.1.msix
Add-AppxPackage .\CopilotLauncher-CmdPal-v0.2.1.msix   # optional

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

v0.2.0 - Changelog / Briefing decoupling + on-demand AI

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 05 Jun 19:39

v0.2.0 — Changelog / Briefing decoupling + on-demand AI

The single Briefing tab in v0.1.x conflated three independent concerns: running copilot update, displaying the bundled changelog, and generating an AI briefing. All three were gated on a version-bump being detected, so there was no way to (re-)generate an AI briefing once the app was already up-to-date — and every bump unconditionally burned premium credit even when you just wanted the raw notes.

What changed

  • Briefing tab renamed to Changelog with an internal SelectorBar:
    • Changelog sub-view: latest version-bump notes highlighted at top, Previous changelogs Expander beneath. Check now runs the updater + persists notes only. No AI is called here, ever.
    • Briefings sub-view: AI-generated summaries, newest-first. Generate AI Briefing is a dedicated button that works even when the app is already up-to-date.
  • Smart AI re-display: if the latest briefing already covers the current Copilot CLI version, clicking Generate AI Briefing switches to the Briefings view and surfaces the existing entry — no premium credit spent.
  • AI Summary on version bump setting removed: all AI generation is now explicit and on-demand. The AI Summary context file setting (BriefingSessionName) is preserved.
  • One-shot migration: existing briefings.json entries are split on the \n\n---\n\n boundary — the AI portion becomes the new briefings.json (AI-only), the raw notes become the new changelogs.json. Pre-AI v0.1.x entries (no ## AI Summary header) become changelog-only. The original file is backed up to briefings.json.v01-backup. Idempotent — runs only if changelogs.json doesn't already exist.

New files

  • Models/ChangelogEntry.cs — changelog history entry shape
  • Services/ChangelogHistoryService.cs — 50-entry cap, atomic write, corrupt-JSON backup
  • Services/BriefingsSplitMigration.cs — v0.1.x → v0.2.0 split + backup
  • ViewModels/ChangelogPageViewModel.cs — replaces BriefingViewModel
  • Pages/ChangelogPage.xaml(.cs) — replaces BriefingPage

Tests

  • 162 tests green (was 134)
  • Added ChangelogHistoryServiceTests (7), BriefingsSplitMigrationTests (8), ChangelogPageViewModelTests (13)

Compatibility

  • v0.1.x users: existing briefings auto-migrate on first launch. Nothing is deleted.
  • BriefingSettings.AISummaryOnBump and AISummaryOnStartupUpdate toggles are no longer surfaced in Settings — AI is fully on-demand. Settings JSON keeps the fields for backward compat but they're effectively dead.

Assets

File Use
CopilotLauncher-v0.2.0.msix Recommended. Trust CopilotLauncher-v0.2.0-DevCert.cer to Cert:\CurrentUser\TrustedPeople, then Add-AppxPackage.
CopilotLauncher-CmdPal-v0.2.0.msix Optional PowerToys Command Palette extension. Requires the main MSIX.
CopilotLauncher-v0.2.0.exe Portable single-file self-contained .exe. No install required.
CopilotLauncher-portable-v0.2.0.zip Portable folder layout (debug/diagnostic preference).
CopilotLauncher-v0.2.0-DevCert.cer Dev signing cert for both MSIXs.
SHA256SUMS.txt Checksums.

Install (MSIX)

`powershell

1. Trust the dev cert (one-time, no admin)

Import-Certificate -FilePath .\CopilotLauncher-v0.2.0-DevCert.cer `
-CertStoreLocation Cert:\CurrentUser\TrustedPeople

2. Install the app

Add-AppxPackage .\CopilotLauncher-v0.2.0.msix

3. Optional: install the Command Palette extension

Add-AppxPackage .\CopilotLauncher-CmdPal-v0.2.0.msix
`


Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

v0.1.12 — pre-release tags + stale-cache fallback + anti-hallucination AI prompt

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 05 Jun 18:57

v0.1.12 — pre-release tags + stale-cache fallback + anti-hallucination AI prompt

Follow-up to v0.1.11 for the AI summary path. Two compounding bugs still produced hallucinations even after release notes fetching was wired up — both fixed.

Bug 1: pre-release tags were silently dropped

copilot CLI publishes daily pre-release tags (v1.0.57-0, -1, -2, -3, ...) between stable cuts. When a user transitioned from stable v1.0.56 to one of those pre-releases (which copilot --version reports as just "1.0.57"), v0.1.11's filter found zero entries in the (1.0.56, 1.0.57] range — every match was a pre-release that got skipped.

Result: empty changelog handed to the AI summarizer → AI defaulted back to whatever was in its session memory → hallucinated paragraphs about Launch-Copilot.ps1 and Get-RemoteChangelogEntries (legacy PowerShell helpers from the v1.x launcher that don't exist in the WinUI rewrite).

Fix: keep all tags. Preserve the full tag name in Version (e.g. "1.0.57-3" displays as ## v1.0.57-3 in the briefing). New SemVerKey comparable orders pre-releases before the stable cut of the same base version so the briefing reads chronologically: 1.0.56-0 < 1.0.56-1 < 1.0.56-2 < 1.0.56 < 1.0.57-0 < ...

Bug 2: stale cache wasn't used when fresh fetch failed

When the cache was past TTL and the GitHub Releases API call failed (rate limit, transient network error, DNS hiccup), ReleaseNotesService returned empty instead of falling back to the stale cache content. Again: empty changelog → AI hallucination.

Fix: if fresh fetch returns null, return the stale cache content. Slightly out-of-date release notes are infinitely better than no notes — empty is what causes the model to make things up.

Bug 3: AI prompt didn't fence against session-memory contamination

The launcher reuses a single named session (CopilotCLI-Update-Briefings) across version bumps for cumulative context. Months of legacy-PS-launcher prompts had cemented hallucinated context that even fresh changelog data couldn't override.

Fix: the AI prompt now explicitly:

  • Forbids referencing prior turns, any named PowerShell scripts (Launch-Copilot.ps1, Get-RemoteChangelogEntries), wrappers, or Desktop cache files — none of those exist in this product
  • Mandates a fixed fallback string ("No release notes available for this transition.") when the changelog is empty or only contains updater status lines
  • Says: base the summary STRICTLY on the changelog text below; do not invent items

Bug 4: AI was called even when there were no release notes

Both Check now and the startup-update path used to fall back to result.RawOutput ("No update needed, current version is X.Y.Z") as the AI's changelog input when the GitHub fetch returned nothing. The model couldn't anchor on that — it would freelance from memory. Now we skip the AI call entirely when entries is empty and surface a status message: "Skipped AI summary — no GitHub release notes available for this range." Honest > wrong.

Verified

On the user's machine, 1.0.57 → 1.0.60 now produces four real entries (v1.0.58, v1.0.59, v1.0.60-0, v1.0.60) with full curated bodies and an AI summary that cites actual changes (rubber duck enabled by default, /voice command, vim-style diff navigation, billing help topic, etc.) — no hallucinations.

Tests

130 → 134 (4 new for pre-release ordering + stale-cache fallback).

Downloads

Same dev cert as v0.1.4+ — if you already trusted it, just install the MSIX.

v0.1.11 — Check now detects silent auto-updates + AI summary now sees real release notes

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 31 May 00:45

v0.1.11 — fixes for "Check now" silent update detection + AI summary hallucinations

Bugs fixed

1. Check now reported "still X.Y.Z" even when copilot CLI had just updated under the hood.
v0.1.10 tried to fix this with --no-auto-update --version on the version probe, but that flag also disables copilot's cache-walk in its internal gate function — so the probe returned the immutable bundled npm version, not the cached current version. The launcher then saw OLD == OLD (or NEW == NEW) and suppressed the briefing entirely.

The real problem: copilot CLI silently auto-extracts new releases to %LOCALAPPDATA%\copilot\pkg\ during prior invocations. By the time the user clicks Check now, both pre- and post-update synchronous --version queries see the same already-extracted version. No in-process probe can catch the transition.

Fix: persist a LastObservedCopilotVersion in settings.json and compare against post-update. Two-phase commit — the new baseline is written only after the briefing entry is durably persisted, so a mid-flight AI-summary failure or disk hiccup can no longer strand the transition undetectable.

Migration: on v0.1.10 → v0.1.11 upgrade, the baseline seeds from the newest briefings.json entry's ToVersion, so returning users keep continuity instead of getting a fake first-run bootstrap.

2. AI summary hallucinated about legacy PowerShell scripts that don't exist in this launcher.
The WinUI port never wired up GitHub Releases fetching. BriefingService.Render(...) and the AI prompt got only the raw copilot update stdout — typically just "No update needed, current version is X.Y.Z" — so the AI made up a story from session memory (commonly citing the legacy Launch-Copilot.ps1, releases-cache.json, last-seen-version.txt).

Fix: new ReleaseNotesService fetches from api.github.com/repos/github/copilot-cli/releases, caches at %LOCALAPPDATA%\CopilotLauncher\state\releases-cache.json (1-hour TTL), filters to the half-open (fromVersion, toVersion] range, skips pre-release tags. Both Check now and startup auto-update pass the fetched entries to both Render(...) AND to the AI prompt. Raw copilot update stdout remains the offline fallback.

3. Settings → About page showed "1.0.0.0".
The csproj had no <Version> so Assembly.GetExecutingAssembly().GetName().Version returned the SDK default. Now stamps 0.1.11.0.

Tests

116 → 130 (5 new for persistence/two-phase commit, 9 new for release-notes fetch/parse/filter/cache). All green.

Downloads

Asset Purpose
CopilotLauncher-v0.1.11.msix Main launcher (signed MSIX — recommended for permanent install)
CopilotLauncher-CmdPal-v0.1.11.msix PowerToys Command Palette extension
CopilotLauncher-v0.1.11.exe Standalone portable .exe
CopilotLauncher-portable-v0.1.11.zip Portable folder bundle
CopilotLauncher-v0.1.11-DevCert.cer Trust this in Local Machine \ Trusted Root once to install the MSIX
SHA256SUMS.txt Checksums

Same dev cert as v0.1.4+ (thumbprint F0005E749CBC679A3EFD3A79DF304F614BFD6463) — if you already trusted it for a previous release, you can install this MSIX without re-importing.

v0.1.10 - Catch silent copilot CLI auto-updates

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 21 May 15:47

What's new in v0.1.10

Fixed

  • ""Check now"" now catches updates that copilot CLI silently auto-installs. Earlier versions of the launcher would call copilot --version to capture the ""before"" version — but copilot CLI auto-updates itself on every invocation that goes through the app gate, including --version. So prev ended up being the post-auto-update version, the subsequent explicit copilot update was a no-op, and the launcher reported ""no version change"" even when a real OLD → NEW transition just happened underneath. The version probes now pass --no-auto-update so they're pure reads; the explicit update step still runs normally and does the actual install.

Improved

  • Briefing in-progress text shows the version transition. Instead of a context-free ""Generating AI summary…"", the status line now reads ""Updated 1.0.48 → 1.0.49. Generating AI summary…"" so you can see the captured transition while the summary is being produced. Same prefix applies to the AI-summary-unavailable fallback message.

Tests

  • 114 → 116 (regression coverage for the --no-auto-update flag in the version-probe argv).

Downloads

File Purpose
CopilotLauncher-v0.1.10.msix Main app, MSIX (recommended; auto-updates from prior MSIX)
CopilotLauncher-CmdPal-v0.1.10.msix PowerToys Command Palette extension
CopilotLauncher-v0.1.10.exe Portable single-file exe (no install)
CopilotLauncher-portable-v0.1.10.zip Portable folder bundle
CopilotLauncher-v0.1.10-DevCert.cer Public cert; only needed once for fresh MSIX installs (same thumbprint as v0.1.4+)
SHA256SUMS.txt Asset hashes

Installation

Upgrading from v0.1.4+: Add-AppxPackage CopilotLauncher-v0.1.10.msix — the cert is already trusted.
Fresh install: see README.md for the cert trust step.

v0.1.9 - Briefing fixes for copilot CLI 1.0.49

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 20 May 19:39

What's new in v0.1.9

Fixed

  • Briefing AI Summary works on copilot CLI 1.0.49+ — switched to --output-format json and parse the JSONL assistant.message.data.content. In 1.0.49 the text-mode output no longer prints the model's reply, so the previous flow created briefing entries with an empty ## AI Summary section. Timeout also bumped 60s → 120s for tool-using calls.
  • ""Check now"" on stale CLI machines — the launcher now re-queries copilot --version after copilot update exits. Previously, on a machine running an older copilot build whose update text didn't match either known format, the first click reported OLD → OLD (no version change detected) and the second click reported NEW → NEW. You now correctly see OLD → NEW on the first click and the briefing renders end-to-end.

Internal

  • Removed the github/copilot-cli#3298 win32 keep-alive stub workaround. The upstream fix shipped in copilot CLI v1.0.48 and the in-tree path layout has changed; verified clean against v1.0.49 (/keep-alive reports ""Keep-alive is disabled."" with no error).
  • Test suite: 110 → 114 (added JSONL extractor tests, update-check precedence test).

Downloads

File Purpose
CopilotLauncher-v0.1.9.msix Main app, MSIX (recommended; auto-updates from prior MSIX)
CopilotLauncher-CmdPal-v0.1.9.msix PowerToys Command Palette extension
CopilotLauncher-v0.1.9.exe Portable single-file exe (no install)
CopilotLauncher-portable-v0.1.9.zip Portable folder bundle
CopilotLauncher-v0.1.9-DevCert.cer Public cert; only needed once for fresh MSIX installs (same thumbprint as v0.1.4+, so existing installs don't need to re-trust)
SHA256SUMS.txt Asset hashes

Installation

Upgrading from v0.1.4+: Add-AppxPackage CopilotLauncher-v0.1.9.msix — the cert is already trusted.
Fresh install: see README.md for the cert trust step.

v0.1.8 — stop silently dropping oversize agents.md context

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 18 May 20:02

Fix: oversize agents.md files were silently dropped from briefing prompts.

If your configured Default agents.md path exceeded 4,000 chars, the launcher returned null from the read step instead of truncating — the entire file was excluded from the AI briefing prompt with no warning. Spotted in the wild on a 5,127-char real agents.md.

v0.1.8 fixes this two ways:

  • Raise the limit from 4,000 to 20,000 chars (~5K tokens — premium copilot CLI models handle 100K+ tokens easily, so this is generous).
  • Truncate with marker when over the new limit (...[truncated] appended), matching how the changelog is already handled. No more silent drops.

Install

& ([scriptblock]::Create((iwr -useb https://github.com/SQLBImhugh/copilot-cli-launcher/raw/main/dist/install.ps1).Content)) -Msix

Cert thumbprint unchanged (F0005E749CBC679A3EFD3A79DF304F614BFD6463). v0.1.7 MSIXs upgrade in place.

Artifacts

  • CopilotLauncher-v0.1.8.msix (64.7 MB)
  • CopilotLauncher-CmdPal-v0.1.8.msix (11.6 MB)
  • CopilotLauncher-v0.1.8-DevCert.cer
  • CopilotLauncher-v0.1.8.exe (portable)
  • CopilotLauncher-portable-v0.1.8.zip
  • SHA256SUMS.txt

v0.1.7 — briefings reuse a named copilot session for cumulative context

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 18 May 17:09

Briefings now reuse a named Copilot CLI session so the AI has cumulative context across version-bump summaries.

Before, every AI summary was a stateless one-shot — no memory of prior briefings, prior repo context, or prior version bumps. v0.1.7 adds a new setting Briefing session name (default CopilotCLI-Update-Briefings) that, when populated, makes the launcher pass --resume=<name> to copilot if a session by that name exists, or --name <name> to create it on first run.

This matches the manual convention many users had adopted before the launcher gained this feature.

How it works

  • Empty/blank → each briefing is a fresh stateless one-shot (the old v0.1.0–v0.1.6 behavior).
  • Set to a name → the launcher checks ~/.copilot/session-state/*/workspace.yaml for that name:
    • exists → spawn copilot -p "<prompt>" --resume=<name> --no-color (appends to the cumulative session)
    • doesn't exist → spawn copilot -p "<prompt>" --name <name> --no-color (creates it on this first run)

To reset, just rename the session in Settings.

Settings location

Settings → AI Summary card → Briefing session name (for historical context) text box.

Install

& ([scriptblock]::Create((iwr -useb https://github.com/SQLBImhugh/copilot-cli-launcher/raw/main/dist/install.ps1).Content)) -Msix

Cert thumbprint unchanged from v0.1.4+ (F0005E749CBC679A3EFD3A79DF304F614BFD6463). v0.1.6 MSIXs upgrade in place.

Artifacts

  • CopilotLauncher-v0.1.7.msix (64.7 MB)
  • CopilotLauncher-CmdPal-v0.1.7.msix (11.6 MB)
  • CopilotLauncher-v0.1.7-DevCert.cer
  • CopilotLauncher-v0.1.7.exe (portable)
  • CopilotLauncher-portable-v0.1.7.zip
  • SHA256SUMS.txt

v0.1.6 — no more cmd.exe flashes on launch

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 18 May 16:41

Fix: two cmd.exe windows briefly flashed during app launch.

When Process.Start runs a .cmd file on Windows (and copilot is an npm shim that resolves to copilot.cmd), Windows wraps the call via cmd.exe, which pops a console window unless CreateNoWindow=true is explicitly set. UpdateCheckService was spawning copilot --version + copilot update on every launch without that flag, causing two brief flashes. Fixed both call sites.

Install

& ([scriptblock]::Create((iwr -useb https://github.com/SQLBImhugh/copilot-cli-launcher/raw/main/dist/install.ps1).Content)) -Msix

The signing cert is unchanged from v0.1.4/v0.1.5 (thumbprint F0005E749CBC679A3EFD3A79DF304F614BFD6463). The installer detects the existing trust and skips the cert import. If you have v0.1.5 installed, this upgrades in place.

Artifacts

  • CopilotLauncher-v0.1.6.msix (64.7 MB)
  • CopilotLauncher-CmdPal-v0.1.6.msix (11.6 MB)
  • CopilotLauncher-v0.1.6-DevCert.cer
  • CopilotLauncher-v0.1.6.exe (portable)
  • CopilotLauncher-portable-v0.1.6.zip
  • SHA256SUMS.txt