diff --git a/packages/app/src/screens/agent/agent-ready-screen.tsx b/packages/app/src/screens/agent/agent-ready-screen.tsx index 0def725b4..65b512756 100644 --- a/packages/app/src/screens/agent/agent-ready-screen.tsx +++ b/packages/app/src/screens/agent/agent-ready-screen.tsx @@ -569,6 +569,23 @@ function AgentScreenContent({ resolvedAgentId && isArchivingAgent({ serverId, agentId: resolvedAgentId }) ); + const hasRedirectedArchivedAgentRef = useRef(false); + + useEffect(() => { + if (!resolvedAgentId) { + hasRedirectedArchivedAgentRef.current = false; + return; + } + if (!agent?.archivedAt) { + hasRedirectedArchivedAgentRef.current = false; + return; + } + if (hasRedirectedArchivedAgentRef.current) { + return; + } + hasRedirectedArchivedAgentRef.current = true; + router.replace(buildHostAgentDraftRoute(serverId) as any); + }, [agent?.archivedAt, resolvedAgentId, router, serverId]); useEffect(() => { if (!resolvedAgentId) {