diff --git a/robot-plugins b/robot-plugins
index 8f5ee48..8334b80 160000
--- a/robot-plugins
+++ b/robot-plugins
@@ -1 +1 @@
-Subproject commit 8f5ee4891f642a23e7ec22549f33bb5b2ff53d82
+Subproject commit 8334b809f2a27078804ffd7554f6e2c3aa6c2b74
diff --git a/src/components/experiments/designer/PropertiesPanel.tsx b/src/components/experiments/designer/PropertiesPanel.tsx
index 4ef7996..043b263 100755
--- a/src/components/experiments/designer/PropertiesPanel.tsx
+++ b/src/components/experiments/designer/PropertiesPanel.tsx
@@ -835,6 +835,40 @@ export function PropertiesPanelBase({
+
+
+
+ Override the next step (use to converge branch paths).
+
+
+
diff --git a/src/components/trials/wizard/WizardInterface.tsx b/src/components/trials/wizard/WizardInterface.tsx
index 6d197bd..fb71f0e 100755
--- a/src/components/trials/wizard/WizardInterface.tsx
+++ b/src/components/trials/wizard/WizardInterface.tsx
@@ -922,8 +922,8 @@ export const WizardInterface = React.memo(function WizardInterface({
// Log action execution
console.log("Executing action:", actionId, parameters);
- // Handle branching logic (wizard_wait_for_response)
- if (parameters?.value && parameters?.label) {
+ // Handle branching logic (wizard_wait_for_response / branch)
+ if (parameters?.label || parameters?.nextStepId) {
setLastResponse(String(parameters.value));
// If nextStepId is provided, jump immediately
diff --git a/src/components/trials/wizard/panels/WizardActionItem.tsx b/src/components/trials/wizard/panels/WizardActionItem.tsx
index 8ac25cd..91c7dec 100644
--- a/src/components/trials/wizard/panels/WizardActionItem.tsx
+++ b/src/components/trials/wizard/panels/WizardActionItem.tsx
@@ -499,6 +499,7 @@ export function WizardActionItem({
// Manual/Wizard Actions (Leaf nodes)
!isContainer &&
action.type !== "wizard_wait_for_response" &&
+ !isBranch &&
!isCompleted && (