diff --git a/apps/web/src/components/ThreadNotificationCoordinator.tsx b/apps/web/src/components/ThreadNotificationCoordinator.tsx
index 5feda71ea8f34431f2f1e01de67e690df05785bf..1401965e90c70fea35861197696bd27784bdc612 100644
--- a/apps/web/src/components/ThreadNotificationCoordinator.tsx
+++ b/apps/web/src/components/ThreadNotificationCoordinator.tsx
@@ -2,6 +2,12 @@ import { useAtomValue } from "@effect/atom-react";
import { useNavigate, useParams } from "@tanstack/react-router";
import type { EnvironmentId, ThreadId } from "@t3tools/contracts";
import * as Option from "effect/Option";
+import {
+ CircleAlertIcon,
+ CircleCheckIcon,
+ MessageCircleQuestionIcon,
+ ShieldQuestionIcon,
+} from "lucide-react";
import { useCallback, useEffect, useRef } from "react";
import { getClientSettings, useClientSettings } from "../hooks/useSettings";
@@ -154,7 +160,28 @@ function EnvironmentNotifications({
type: kind === "completion" ? "success" : status === "failed" ? "error" : "warning",
title,
description: thread.title,
- data: { hideCopyButton: true },
+ data: {
+ hideCopyButton: true,
+ leadingIcon:
+ kind === "completion" ? (
+
+ ) : status === "approval" ? (
+
+ ) : status === "failed" ? (
+
+ ) : (
+
+ ),
+ },
actionProps: {
children: "Open thread",
onClick: () => {