diff --git a/src/app/[locale]/page.tsx b/src/app/[locale]/page.tsx
index 60d5337..e518b28 100644
--- a/src/app/[locale]/page.tsx
+++ b/src/app/[locale]/page.tsx
@@ -49,6 +49,7 @@ import { MemoryPanel } from "@/app/components/MemoryPanel";
import { ScheduledTasksPanel } from "@/app/components/ScheduledTasksPanel";
import { ThemeToggle } from "@/app/components/ThemeToggle";
import { VersionBadge } from "@/app/components/VersionBadge";
+import { UpdateBanner } from "@/app/components/UpdateBanner";
import { HealthIndicator } from "@/app/components/HealthIndicator";
import { InspectorPanel } from "@/app/components/InspectorPanel";
import { setThreadAutoApprove } from "@/lib/autoApprove";
@@ -481,6 +482,8 @@ function HomePageInner({ authEnabled, isAdmin }: HomePageInnerProps) {
+
+ {r.label} v{r.info.current_version} →{" "} + v{r.info.latest_version} available.{" "} + {r.info.release_url && ( + + Release notes + + )} +
+ ))} ++ Upgrading briefly interrupts the service and disconnects all connected sessions. +
+Couldn't load version info.
) : !data ? ( -- Loading... -
+Loading...
) : ( -- A new version of EvoScientist is available. +
+ Backend
- )} - {data.warning && ( -- Last check failed: {data.warning} -
- )} - {hasUpdate && !downloaded && ( - - )} - {downloaded && ( -- {downloaded.path} -
-
- {downloaded.suggested_command}
-
-
- - Run this on the backend host, then restart it. -
++ Last check failed: {data.warning} +
+ )} + {hasUpdate && ( + + )} + {rollbackVersions && rollbackVersions.length > 0 && ( ++ Web UI +
++ {updateStatus === "applying" + ? "Updating — the service will briefly interrupt; this page may lose connection." + : updateStatus} +
)}