diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/Terminal.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/Terminal.tsx
index 9a9736fd98b..480afe2a633 100644
--- a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/Terminal.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/Terminal.tsx
@@ -6,11 +6,7 @@ import { useEffect, useRef, useState } from "react";
import { electronTrpc } from "renderer/lib/electron-trpc";
import { useTabsStore } from "renderer/stores/tabs/store";
import { useTerminalTheme } from "renderer/stores/theme";
-import {
- ConnectionErrorOverlay,
- RestoredModeOverlay,
- SessionKilledOverlay,
-} from "./components";
+import { ConnectionErrorOverlay, SessionKilledOverlay } from "./components";
import { getDefaultTerminalBg, type TerminalRendererRef } from "./helpers";
import {
useFileLinkClick,
@@ -218,6 +214,11 @@ export const Terminal = ({ paneId, tabId, workspaceId }: TerminalProps) => {
xtermRef,
});
+ useEffect(() => {
+ if (!isRestoredMode) return;
+ handleStartShell();
+ }, [isRestoredMode, handleStartShell]);
+
const { xtermInstance, restartTerminal } = useTerminalLifecycle({
paneId,
tabIdRef,
@@ -308,9 +309,6 @@ export const Terminal = ({ paneId, tabId, workspaceId }: TerminalProps) => {
{connectionError && (