diff --git a/src/ClaudeDo.Installer/Pages/WelcomePage/WelcomePageViewModel.cs b/src/ClaudeDo.Installer/Pages/WelcomePage/WelcomePageViewModel.cs index 456be22..0f2c791 100644 --- a/src/ClaudeDo.Installer/Pages/WelcomePage/WelcomePageViewModel.cs +++ b/src/ClaudeDo.Installer/Pages/WelcomePage/WelcomePageViewModel.cs @@ -45,10 +45,15 @@ public partial class WelcomePageViewModel : ObservableObject, IInstallerPage break; case InstallerMode.Update: - Heading = $"Update ClaudeDo {_context.InstalledVersion} -> {_context.LatestVersion}"; + Heading = $"Update ClaudeDo {_context.InstalledVersion ?? "?"} -> {_context.LatestVersion ?? "?"}"; Subheading = "Your tasks, config, and database will be preserved. Click Next to continue."; - InstallDirEditable = false; + InstallDirEditable = false; // stay where we were installed break; + + default: + // Config and any future modes should never reach the wizard; guard loudly if they do. + throw new InvalidOperationException( + $"WelcomePage is not valid for installer mode {_context.Mode}"); } return Task.CompletedTask;