diff --git a/frontend/src/renderer/components/ShellTopbar.tsx b/frontend/src/renderer/components/ShellTopbar.tsx
index c336b19cb3..a78f2fefca 100644
--- a/frontend/src/renderer/components/ShellTopbar.tsx
+++ b/frontend/src/renderer/components/ShellTopbar.tsx
@@ -2,7 +2,6 @@ import { useMutation, useQueryClient } from "@tanstack/react-query";
import { useNavigate, useParams } from "@tanstack/react-router";
import { GitBranch, LayoutDashboard, PanelRightClose, PanelRightOpen, Plus, Square, Trash2 } from "lucide-react";
import { useState } from "react";
-import { NotificationCenter } from "./NotificationCenter";
import {
findProjectOrchestrator,
isOrchestratorSession,
@@ -70,11 +69,13 @@ export function ShellTopbar() {
// removed, or data still loading) shows an empty crumb — never the raw
// route slug. "agent-orchestrator" is the root-board crumb only.
const projectId = session?.workspaceId ?? params.projectId;
- const isProjectBoardRoute = !isSessionRoute && Boolean(projectId);
- const project = projectId ? all.find((workspace) => workspace.id === projectId) : undefined;
- const projectLabel = project?.name ?? session?.workspaceName ?? (projectId ? "" : "agent-orchestrator");
+ const projectLabel = session?.workspaceName ?? "";
const orchestrator = projectId ? findProjectOrchestrator(all, projectId) : undefined;
+ if (!isSessionRoute) {
+ return null;
+ }
+
const openBoard = () =>
projectId ? void navigate({ to: "/projects/$projectId", params: { projectId } }) : void navigate({ to: "/" });
@@ -132,7 +133,7 @@ export function ShellTopbar() {
return (
- {isSessionRoute && isOrchestrator ? (
+ {isOrchestrator ? (
{projectLabel}
@@ -145,7 +146,7 @@ export function ShellTopbar() {
- ) : isSessionRoute ? (
+ ) : (
@@ -153,79 +154,70 @@ export function ShellTopbar() {
{session ?
: null}
- ) : isProjectBoardRoute ? null : (
-
- {projectLabel}
-
)}
-
- {isSessionRoute ? (
+ {isOrchestrator ? (
<>
- {isOrchestrator ? (
- <>
-
-
- >
- ) : null}
- {/* Kill control sits beside the orchestrator link for active workers —
- moved here from the inspector's Summary "Danger zone". */}
- {!isOrchestrator && session && sessionIsActive(session) ?
: null}
- {!isOrchestrator && (
-
- )}
- {/* Inspector collapse (worker sessions only — orchestrators have no rail). */}
- {!isOrchestrator && (
-
- )}
+
+
>
) : null}
+ {/* Kill control sits beside the orchestrator link for active workers —
+ moved here from the inspector's Summary "Danger zone". */}
+ {!isOrchestrator && session && sessionIsActive(session) ?
: null}
+ {!isOrchestrator && (
+
+ )}
+ {/* Inspector collapse (worker sessions only — orchestrators have no rail). */}
+ {!isOrchestrator && (
+
+ )}
WorkspaceSummary[]) => {
@@ -185,7 +189,7 @@ function ShellLayout() {
>