diff --git a/frontend/src/renderer/components/CenterPane.test.tsx b/frontend/src/renderer/components/CenterPane.test.tsx
new file mode 100644
index 000000000..f4ebef8a1
--- /dev/null
+++ b/frontend/src/renderer/components/CenterPane.test.tsx
@@ -0,0 +1,38 @@
+import { render, screen } from "@testing-library/react";
+import { describe, expect, it, vi } from "vitest";
+import type { WorkspaceSession } from "../types/workspace";
+import { CenterPane } from "./CenterPane";
+
+// The terminal body pulls in xterm/SSE machinery irrelevant to the toolbar under test.
+vi.mock("./TerminalPane", () => ({ TerminalPane: () =>
terminal body
}));
+
+const worker = {
+ id: "sess-1",
+ workspaceId: "proj-1",
+ workspaceName: "my-app",
+ title: "do the thing",
+ provider: "claude-code",
+ kind: "worker",
+ branch: "ao/sess-1",
+ status: "working",
+ updatedAt: "2026-06-10T00:00:00Z",
+ prs: [],
+} satisfies WorkspaceSession;
+
+describe("CenterPane toolbar session label", () => {
+ it("shows the session display name for a worker", () => {
+ render();
+ expect(screen.getByText("do the thing")).toBeInTheDocument();
+ expect(screen.queryByText("sess-1")).not.toBeInTheDocument();
+ });
+
+ it("shows 'Orchestrator' for an orchestrator session", () => {
+ render();
+ expect(screen.getByText("Orchestrator")).toBeInTheDocument();
+ });
+
+ it("shows 'No session' when there is no session", () => {
+ render();
+ expect(screen.getByText("No session")).toBeInTheDocument();
+ });
+});