diff --git a/frontend/src/renderer/components/Sidebar.tsx b/frontend/src/renderer/components/Sidebar.tsx
index c9567db77..81f8a9bc3 100644
--- a/frontend/src/renderer/components/Sidebar.tsx
+++ b/frontend/src/renderer/components/Sidebar.tsx
@@ -1,4 +1,4 @@
-import { useQueryClient } from "@tanstack/react-query";
+import { useQuery, useQueryClient } from "@tanstack/react-query";
import { useNavigate, useParams, useRouterState } from "@tanstack/react-router";
import {
ChevronRight,
@@ -151,7 +151,17 @@ export function Sidebar({
next.has(id) ? next.delete(id) : next.add(id);
return next;
});
- // agent-orchestrator's sidebar resize: drag the right edge (200–420px,
+ // Fetch the running app version to derive the build channel. Channel is
+ // identity: derived from the version string, not the update-channel setting
+ // (the setting can be changed mid-session; the binary cannot).
+ const { data: appVersion } = useQuery({
+ queryKey: ["app-version"],
+ queryFn: () => aoBridge.app.getVersion(),
+ staleTime: Infinity,
+ });
+ const isNightly = typeof appVersion === "string" && appVersion.includes("-nightly.");
+
+ // agent-orchestrator's sidebar resize: drag the right edge (200-420px,
// persisted), double-click to reset to 240px. Drives --ao-sidebar-w on :root,
// which the provider forwards into shadcn's --sidebar-width.
const { onPointerDown: onResizePointerDown, onDoubleClick: onResizeDoubleClick } = useResizable({
@@ -199,6 +209,17 @@ export function Sidebar({
Agent Orchestrator
+ {isNightly && (
+
+ nightly
+
+ )}
{/* On macOS the toggle lives in the titlebar cluster instead. */}
{!isMac && (
diff --git a/frontend/src/renderer/styles.css b/frontend/src/renderer/styles.css
index 10c3b4f51..eb419dde5 100644
--- a/frontend/src/renderer/styles.css
+++ b/frontend/src/renderer/styles.css
@@ -111,6 +111,7 @@
--green-strong: #74b98a;
--amber: #e8c14a;
--red: #ef6b6b;
+ --purple: #a78bfa;
/* Terminal — dark palette (light override below). */
--term-bg: #15171b;
--term-fg: #d7d7d2;
@@ -148,6 +149,7 @@
--green-strong: #1a7f37;
--amber: #9a6b00;
--red: #c0392b;
+ --purple: #7c3aed;
--interactive-hover: rgb(0 0 0 / 0.04);
--interactive-active: rgb(0 0 0 / 0.07);
--kanban-column-bg: rgb(0 0 0 / 0.02);