Context
PR #2575 (merged as #2518 fix) made the project folder optional when creating a workspace. However, the workspace name field is still required — the "Continue" button stays disabled until a name is entered.
When creating a sandbox-only workspace (no project folder), there's no source path to derive a default name from, so the user is forced to type one manually every time.
Problem
The current flow requires the user to provide a workspace name before they can proceed. This adds unnecessary friction, especially for sandbox-only workspaces where a meaningful name may not be known upfront.
Proposal
Make the workspace name optional. When the user leaves it empty:
- Auto-generate a name (e.g.,
workspace-happy-turtle)
- This is consistent with how openshell already generates workspace names
The unique-username-generator package could be used for name generation.
Note: the project already uses random-words for flow name generation (see FlowCreate.svelte), so reusing that package instead is also an option to avoid adding a new dependency.
Affected areas
- UI validation (
AgentWorkspaceCreate.svelte): the isCurrentStepComplete check requires getEffectiveWorkspaceName() !== ''
- Backend validation (
agent-workspace-manager.ts): throws 'workspace name is required when no project folder is specified'
- Both need to support generating a name when none is provided
Context
PR #2575 (merged as #2518 fix) made the project folder optional when creating a workspace. However, the workspace name field is still required — the "Continue" button stays disabled until a name is entered.
When creating a sandbox-only workspace (no project folder), there's no source path to derive a default name from, so the user is forced to type one manually every time.
Problem
The current flow requires the user to provide a workspace name before they can proceed. This adds unnecessary friction, especially for sandbox-only workspaces where a meaningful name may not be known upfront.
Proposal
Make the workspace name optional. When the user leaves it empty:
workspace-happy-turtle)The
unique-username-generatorpackage could be used for name generation.Note: the project already uses
random-wordsfor flow name generation (seeFlowCreate.svelte), so reusing that package instead is also an option to avoid adding a new dependency.Affected areas
AgentWorkspaceCreate.svelte): theisCurrentStepCompletecheck requiresgetEffectiveWorkspaceName() !== ''agent-workspace-manager.ts): throws'workspace name is required when no project folder is specified'