diff --git a/.changeset/fn-6910-subtask-breakdown-flag.md b/.changeset/fn-6910-subtask-breakdown-flag.md
new file mode 100644
index 0000000000..8c750b8e07
--- /dev/null
+++ b/.changeset/fn-6910-subtask-breakdown-flag.md
@@ -0,0 +1,5 @@
+---
+"@runfusion/fusion": patch
+---
+
+Hide the dashboard AI subtask-breakdown quick-add button behind the default-off `subtaskBreakdown` experimental feature flag.
diff --git a/docs/dashboard-guide.md b/docs/dashboard-guide.md
index 4c79c4d878..80507c1f1f 100644
--- a/docs/dashboard-guide.md
+++ b/docs/dashboard-guide.md
@@ -259,7 +259,7 @@ Rules:
- `Merge target / base branch` stays optional for all modes and uses the same branch-dropdown + `Custom…` fallback behavior as Planning Mode.
- In **More options → Model Configuration**, **Auto-merge** is a per-task override with three states: **Default** (follow project setting), **Enabled**, or **Disabled**.
-The dialog also exposes the board quick-add AI handoffs: **Plan** opens Planning Mode with the current description, and **Subtask** opens Subtask Breakdown with the current description. Both buttons remain disabled until the description has content, matching the quick-add row behavior.
+The dialog also exposes the board quick-add AI handoffs: **Plan** opens Planning Mode with the current description, and **Subtask** opens Subtask Breakdown with the current description when **Settings → Experimental Features → Subtask Breakdown** is enabled. The Subtask handoff is hidden by default; visible handoff buttons remain disabled until the description has content, matching the quick-add row behavior.
## Chat View
diff --git a/packages/dashboard/app/App.tsx b/packages/dashboard/app/App.tsx
index 9b470313c2..9e7ab33a95 100644
--- a/packages/dashboard/app/App.tsx
+++ b/packages/dashboard/app/App.tsx
@@ -1029,6 +1029,8 @@ function AppInner() {
const nodesEnabled = experimentalFeatures.nodesView === true;
const researchEnabled = experimentalFeatures.researchView === true;
const evalsEnabled = experimentalFeatures.evalsView === true;
+ /* FNXC:QuickAddSubtaskFlag 2026-06-21-00:00: Missing or false `subtaskBreakdown` settings must hide the AI Subtask quick-add handoff across List, Board, and New Task Modal surfaces; only an explicit true wires the callback. */
+ const subtaskBreakdownEnabled = experimentalFeatures.subtaskBreakdown === true;
/*
FNXC:Navigation 2026-06-19-00:00:
Experimental left sidebar navigation replaces the Header view shortcuts with a persistent sidebar on non-mobile project screens, while mobile continues to use the bottom navigation bar as the only primary navigation surface.
@@ -1861,7 +1863,7 @@ function AppInner() {
onQuickCreate={handleBoardQuickCreate}
onNewTask={openNewTaskWithNav}
onPlanningMode={openPlanningWithInitialPlanWithNav}
- onSubtaskBreakdown={openSubtaskBreakdownWithNav}
+ onSubtaskBreakdown={subtaskBreakdownEnabled ? openSubtaskBreakdownWithNav : undefined}
autoMerge={autoMerge}
onToggleAutoMerge={toggleAutoMerge}
globalPaused={globalPaused}
@@ -1915,7 +1917,7 @@ function AppInner() {
onNewTask={openNewTaskWithNav}
onQuickCreate={handleBoardQuickCreate}
onPlanningMode={openPlanningWithInitialPlanWithNav}
- onSubtaskBreakdown={openSubtaskBreakdownWithNav}
+ onSubtaskBreakdown={subtaskBreakdownEnabled ? openSubtaskBreakdownWithNav : undefined}
availableModels={availableModels}
favoriteProviders={favoriteProviders}
favoriteModels={favoriteModels}
@@ -2273,7 +2275,7 @@ function AppInner() {
handleGitHubImport,
}}
onPlanningMode={openPlanningWithInitialPlanWithNav}
- onSubtaskBreakdown={openSubtaskBreakdownWithNav}
+ onSubtaskBreakdown={subtaskBreakdownEnabled ? openSubtaskBreakdownWithNav : undefined}
taskOperations={{ moveTask, deleteTask, mergeTask, archiveTask, retryTask, resetTask, duplicateTask }}
deepLink={{ handleDetailClose }}
settings={{ prAuthAvailable, autoMerge, themeMode, colorTheme, dashboardFontScalePct, shadcnCustomColors, resolvedThemeMode, setThemeMode, setColorTheme, setDashboardFontScalePct, setShadcnCustomColors }}
diff --git a/packages/dashboard/app/components/InlineCreateCard.tsx b/packages/dashboard/app/components/InlineCreateCard.tsx
index 0dd6e64951..7a61dc7946 100644
--- a/packages/dashboard/app/components/InlineCreateCard.tsx
+++ b/packages/dashboard/app/components/InlineCreateCard.tsx
@@ -904,18 +904,21 @@ export function InlineCreateCard({
{t("inline.plan", "Plan")}
-
+ {/* FNXC:QuickAddSubtaskFlag 2026-06-21-00:00: Render no Subtask button or orphaned inline-create click target unless the default-off `subtaskBreakdown` experiment wires this callback. */}
+ {onSubtaskBreakdown && (
+
+ )}
{t("tasks.plan", "Plan")}
-
+ {/* FNXC:QuickAddSubtaskFlag 2026-06-21-00:00: Render no Subtask button or click target unless App wires the default-off `subtaskBreakdown` experiment callback. */}
+ {onSubtaskBreakdown && (
+
+ )}