diff --git a/web/app/components/workflow/skill/skill-body/tabs/file-tabs.tsx b/web/app/components/workflow/skill/skill-body/tabs/file-tabs.tsx
index 21dee3932c..4829d78755 100644
--- a/web/app/components/workflow/skill/skill-body/tabs/file-tabs.tsx
+++ b/web/app/components/workflow/skill/skill-body/tabs/file-tabs.tsx
@@ -23,6 +23,7 @@ const FileTabs = () => {
const { data: nodeMap } = useSkillAssetNodeMap()
const isStartTabActive = activeTabId === START_TAB_ID
+ const isStartTabOnly = openTabIds.length === 0
const handleStartTabClick = useCallback(() => {
storeApi.getState().activateTab(START_TAB_ID)
@@ -69,11 +70,15 @@ const FileTabs = () => {
<>
{openTabIds.map((fileId) => {
diff --git a/web/app/components/workflow/skill/skill-body/tabs/start-tab-item.spec.tsx b/web/app/components/workflow/skill/skill-body/tabs/start-tab-item.spec.tsx
index dab6de90cf..9bec26dc53 100644
--- a/web/app/components/workflow/skill/skill-body/tabs/start-tab-item.spec.tsx
+++ b/web/app/components/workflow/skill/skill-body/tabs/start-tab-item.spec.tsx
@@ -8,6 +8,7 @@ const createProps = (overrides: Partial
= {}) => {
const onClick = vi.fn()
const props: StartTabItemProps = {
isActive: false,
+ isOnly: false,
onClick,
...overrides,
}
diff --git a/web/app/components/workflow/skill/skill-body/tabs/start-tab-item.tsx b/web/app/components/workflow/skill/skill-body/tabs/start-tab-item.tsx
index 3f6559293e..ade4f9f580 100644
--- a/web/app/components/workflow/skill/skill-body/tabs/start-tab-item.tsx
+++ b/web/app/components/workflow/skill/skill-body/tabs/start-tab-item.tsx
@@ -7,11 +7,13 @@ import { cn } from '@/utils/classnames'
type StartTabItemProps = {
isActive: boolean
+ isOnly: boolean
onClick: () => void
}
const StartTabItem = ({
isActive,
+ isOnly,
onClick,
}: StartTabItemProps) => {
const { t } = useTranslation('workflow')
@@ -19,7 +21,8 @@ const StartTabItem = ({
return (