diff --git a/openspec/changes/redesign-server-deployment-workflow/design.md b/openspec/changes/redesign-server-deployment-workflow/design.md
index 6ad8b85..b0a90dd 100644
--- a/openspec/changes/redesign-server-deployment-workflow/design.md
+++ b/openspec/changes/redesign-server-deployment-workflow/design.md
@@ -31,7 +31,7 @@ The alternative—incrementally rearranging the two current forms—would keep d
The component has four steps: target (plugin plus Run or explicit draft), deployment method, configuration, and review. Forward navigation validates only fields required by the selected mode. Back navigation preserves typed values. The final review is the only submit point.
-`guided-install` shows plugin game inputs and a primary “server directory”; `existing-server` shows the existing server directory; `custom-command` adds launch data. `workingDirectory` is an advanced custom-command input labelled as an execution directory and defaults logically to `serverRoot` when omitted. This preserves the current protocol distinction without demanding it from normal users.
+`guided-install` shows plugin game inputs and an optional “installation directory”; `existing-server` requires an “existing server directory” and explicitly states that it will not reinstall or overwrite game configuration; `custom-command` adds launch data. `workingDirectory` is an advanced custom-command input labelled as an execution directory and defaults logically to `serverRoot` when omitted. This preserves the current protocol distinction without demanding it from normal users.
### 3. Draft is a deliberate outcome
diff --git a/openspec/changes/redesign-server-deployment-workflow/specs/server-deployment-console-workflow/spec.md b/openspec/changes/redesign-server-deployment-workflow/specs/server-deployment-console-workflow/spec.md
index 7d8dad0..231440e 100644
--- a/openspec/changes/redesign-server-deployment-workflow/specs/server-deployment-console-workflow/spec.md
+++ b/openspec/changes/redesign-server-deployment-workflow/specs/server-deployment-console-workflow/spec.md
@@ -21,6 +21,10 @@ The management console SHALL show only the deployment inputs needed by the selec
- **WHEN** an operator chooses existing-server deployment
- **THEN** the console requests the existing server directory and does not render installation or custom command inputs
+#### Scenario: Configure a new installation
+- **WHEN** an operator chooses guided-install deployment
+- **THEN** the console labels the optional target as an installation directory, renders the plugin's game configuration fields, and does not present it as an existing-server adoption path
+
#### Scenario: Configure a custom launcher
- **WHEN** an operator chooses custom-command deployment
- **THEN** the console renders the required startup command and optional advanced execution directory, shell, install, stop, and status inputs
diff --git a/openspec/changes/redesign-server-deployment-workflow/tasks.md b/openspec/changes/redesign-server-deployment-workflow/tasks.md
index 88ddfd5..52a211c 100644
--- a/openspec/changes/redesign-server-deployment-workflow/tasks.md
+++ b/openspec/changes/redesign-server-deployment-workflow/tasks.md
@@ -14,3 +14,4 @@
- [x] 3.1 Add compact shared-theme workflow layout styles and remove obsolete one-page deployment form presentation.
- [x] 3.2 Add focused contracts/page tests for step order, explicit drafts, field visibility, safe review, and edit availability.
- [x] 3.3 Run focused frontend checks, `scripts/check-structure.sh`, and `openspec validate redesign-server-deployment-workflow --strict`; mark tasks complete only after evidence exists.
+- [x] 3.4 Differentiate guided-install and existing-server configuration fields and correct single-field workflow layout stretching.
diff --git a/platform_web/components/ServerDeploymentWorkflow.tsx b/platform_web/components/ServerDeploymentWorkflow.tsx
index 4461fcc..8e387bd 100644
--- a/platform_web/components/ServerDeploymentWorkflow.tsx
+++ b/platform_web/components/ServerDeploymentWorkflow.tsx
@@ -63,6 +63,7 @@ export function ServerDeploymentWorkflow({ open, kind, plugins, endpoints, initi
if (step === 0) return Boolean(form.pluginId && (saveAsDraft || form.runEndpointId));
if (step === 2) {
if (kind === "create" && !form.name.trim()) return false;
+ if (form.deploymentMode === "existing-server" && !form.serverRoot.trim() && !deployment?.serverRootConfigured) return false;
if (form.deploymentMode === "custom-command" && !form.startCommand.trim() && !deployment?.startCommandConfigured) return false;
return pluginFields.filter((field) => field.required).every((field) => Boolean(form.createInputs[field.key]?.trim()));
}
@@ -94,8 +95,10 @@ export function ServerDeploymentWorkflow({ open, kind, plugins, endpoints, initi
{step === 2 &&