diff --git a/research/trace-workbench/app.js b/research/trace-workbench/app.js
index 070d1c601c..fe9ce6e262 100644
--- a/research/trace-workbench/app.js
+++ b/research/trace-workbench/app.js
@@ -988,11 +988,13 @@ function renderChatToolActivity(call) {
const outputHtml = result
? `
${failed ? 'Error output' : 'Output'}
${escapeHtml(resultText)}`
: ''
+ const callEvent = state.callPairs.get(call.id)?.call
+ const spawnHtml = callEvent ? spawnedSessionsHtml(callEvent).trim() : ''
const openBtn = ``
return `
${failed ? 'Tool failed' : 'Tool use'}${escapeHtml(call.name)}${preview ? ` · ${escapeHtml(preview)}` : ''}
- ${inputHtml}${outputHtml}${openBtn}
+ ${inputHtml}${outputHtml}${spawnHtml}${openBtn}
`
}
diff --git a/research/trace-workbench/styles.css b/research/trace-workbench/styles.css
index 932bf17f1f..12be3efebe 100644
--- a/research/trace-workbench/styles.css
+++ b/research/trace-workbench/styles.css
@@ -1290,6 +1290,9 @@ h4 {
border-radius: 12px;
background: #f7fbf7;
overflow: hidden;
+ /* Inside .activity-body (white-space: pre-wrap) the template's own
+ newlines must not render. */
+ white-space: normal;
}
.spawn-list-head {