Show complete native subagent conversations (#2760)

* fix(server): preserve provider subagent messages

The provider SDK defaults to forwarding only child tool activity, which leaves the nested timeline without the child response. Request the full nested transcript so provider subagent panes retain both sides of the conversation.

* fix(app): correct project status badge test imports
This commit is contained in:
Mohamed Boudra
2026-08-01 19:07:16 +02:00
committed by GitHub
parent 5a30affd7f
commit 9ddc3e0c42
4 changed files with 9 additions and 4 deletions
@@ -75,6 +75,9 @@ test.describe("real provider subagent timelines", () => {
const panel = page.getByTestId("provider-subagent-panel");
await expect(panel).toBeVisible({ timeout: 30_000 });
await expect(
panel.getByTestId("user-message").filter({ hasText: scenario.sentinel }),
).toBeVisible({ timeout: 30_000 });
await expect(
panel.getByTestId("assistant-message").filter({ hasText: scenario.sentinel }),
).toBeVisible({ timeout: 30_000 });
@@ -1,7 +1,7 @@
import { expect, type Page } from "@playwright/test";
import { gotoAppShell } from "./app";
import { seedWorkspace, type SeededWorkspace } from "./seed-client";
import { waitForSidebarHydration } from "./workspace-ui";
import { gotoAppShell } from "../support/helpers/app";
import { seedWorkspace, type SeededWorkspace } from "../support/helpers/seed-client";
import { waitForSidebarHydration } from "../support/helpers/workspace-ui";
export interface StatusProject {
seed: SeededWorkspace;
@@ -1,4 +1,4 @@
import { test } from "./fixtures";
import { test } from "./support/fixtures";
import {
expandStatusProject,
expectCollapsedProjectStatus,
@@ -3103,6 +3103,8 @@ class ClaudeAgentSession implements AgentSession {
...(effort ? { effort } : {}),
...extraClaudeOptions,
...settingsOptions,
// Provider subagent panes render the child's nested transcript.
forwardSubagentText: true,
// Merged rather than assigned above: extraClaudeOptions is spread after the base, so any
// user-configured hooks would otherwise replace these wholesale and silently stop effort
// from being observed.