Skip to content

ACP: tool_call_update in_progress notifications don't include tool metadata #14592

Closed

Description

@ezynda3

Description

When a tool (e.g. the task tool) calls ctx.metadata() during execution, the metadata is persisted on the part via Session.updatePart() and a PartUpdated event fires. However, the ACP agent only includes metadata in the completed tool_call_update notification — in_progress notifications omit it entirely.

This is relevant for the task tool specifically: it calls ctx.metadata({ sessionId: session.id, ... }) immediately after creating the child session, before the subagent begins execution. The ToolStateRunning schema already supports an optional metadata field, and the data is available on part.state.metadata, but src/acp/agent.ts doesn't forward it in the running case.

Impact

ACP clients that want to display or interact with a running subagent session cannot obtain the child sessionId until the subagent finishes. This prevents use cases like live session peeking / tailing a subagent while it runs.

Expected behavior

tool_call_update notifications with status: "in_progress" should include rawOutput.metadata when the tool has set metadata via ctx.metadata(), matching the structure already used in completed notifications.

Activity

  1. github-actions commented on Apr 23, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions