diff --git a/apps/web/src/shell/contextual-panel.tsx b/apps/web/src/shell/contextual-panel.tsx
index 3fcf5e674..ec1c216d7 100644
--- a/apps/web/src/shell/contextual-panel.tsx
+++ b/apps/web/src/shell/contextual-panel.tsx
@@ -1,14 +1,14 @@
// Column 2: route-aware contextual panel with three bands.
//
// 1. Page band — title, settings entry, quick actions, canvas toggle.
-// 2. Global pins — user-curated, same on every page.
-// 3. Page-specific — contribution content for the current route.
+// 2. Global pins — user-curated, same on every page (hidden when empty).
+// 3. Page-specific — contribution content for the current route (omitted when null).
//
// Live activity lives here (left), never in the right canvas. Clicking a
// list item navigates to the full surface for that entity.
-import { Button, EmptyState, SidebarItemRow } from "@corbits/react-ui";
-import { Pin as PinIcon, Settings } from "lucide-react";
+import { Button, SidebarItemRow } from "@corbits/react-ui";
+import { Settings } from "lucide-react";
import { useState } from "react";
import { CanvasToggle } from "./canvas-column";
@@ -95,13 +95,9 @@ export function ContextualPanel({
) : null}
-
-
Pinned
- {pins.length === 0 ? (
-
- Pin channels, agents, or routines to keep them here on every page.
-