diff --git a/frontend/src/app/pages/Dashboard/canvas/DashboardEmptyState.tsx b/frontend/src/app/pages/Dashboard/canvas/DashboardEmptyState.tsx
index 7f2fee9d..efb79082 100644
--- a/frontend/src/app/pages/Dashboard/canvas/DashboardEmptyState.tsx
+++ b/frontend/src/app/pages/Dashboard/canvas/DashboardEmptyState.tsx
@@ -87,13 +87,18 @@ const DashboardEmptyState: React.FC<{
// context switch); the others use the default mode.
const launch = (prompt: string) => {
if (launching) return;
- if (onStarter) {
- onStarter(prompt, isAppBuilder ? 'view-builder' : undefined);
+ // App Builder opens its own surface, so prefill its composer (the user reviews,
+ // then builds). Everything else fires immediately: a pick is one tap to a running agent.
+ if (isAppBuilder) {
+ if (onStarter) onStarter(prompt, 'view-builder');
return;
}
- if (!onLaunch) return;
- setLaunching(true); // empty state unmounts on first session, but guard a fast double-click
- onLaunch(prompt, mode, model);
+ if (onLaunch) {
+ setLaunching(true); // empty state unmounts on first session, but guard a fast double-click
+ onLaunch(prompt, mode, model);
+ return;
+ }
+ if (onStarter) onStarter(prompt);
};
return (
@@ -109,8 +114,8 @@ const DashboardEmptyState: React.FC<{
}}
>
-
- No agents running
+
+ What do you want done?
- Click the
+ Tell the
{/* Literal toolbar glyph; the shimmer's transparent color would hide it, so reset color here. */}
- below to launch your first agent
+ below and I'll put a team on it
{showChips && (