Bug reportClosed

Claude Swarm collect returns raw JSON transcript instead of final response

Khang NguyenPosted

What is happening

Product: 1DevTool    Website: https://1devtool.com    Version: 1.49.0    Environment: macOS, Claude Code 2.1.215    Topology: Swarm    Substrate: headless        Summary        When collecting a completed Claude worker with:        1devtool-agent-v2 collect --swarm=<swarmId>        the worker output contains the entire raw Claude JSON transcript instead of only the final assistant response.        Steps to reproduce        1. Start a headless Swarm targeting Claude:        {      "clientRequestId": "claude-output-test",      "brief": "Reply exactly CLAUDE_OUTPUT_OK and nothing else.",      "targets": ["claude"],      "count": 1,      "poolSize": 1,      "budget": 1,      "substrate": "headless",      "sandbox": "read"    }        2. Wait for the worker to finish.        3. Collect the result:        1devtool-agent-v2 collect --swarm=<swarmId>        Actual result        results[0].output contains a JSON-encoded array with the full Claude transcript, including:        - system initialization event    - working directory and session ID    - complete tool and MCP server inventory    - assistant and tool events    - model usage and cost metadata    - final result event        The expected final response is present only inside the nested result object:        "result": "CLAUDE_OUTPUT_OK"        Expected result        results[0].output should contain only:        CLAUDE_OUTPUT_OK        Comparison        The Hermes headless worker already returns clean final output:        "output": "CLAUDE_OUTPUT_OK\n"        Claude should follow the same output contract.        Impact        - collect responses become extremely large    - downstream callers must parse nested Claude event data    - terminal output becomes noisy and difficult to use    - tool names, MCP server names, local paths, usage data, and session metadata are unnecessarily exposed    - higher risk of hitting output-size limits    - Swarm itself still completes successfully; read/write execution is not blocked        Likely location        This appears to be a 1DevTool Claude headless output normalization/parsing issue, not a Claude worker failure.

Expected result

See the description.

Actual result

Product: 1DevTool    Website: https://1devtool.com    Version: 1.49.0    Environment: macOS, Claude Code 2.1.215    Topology: Swarm    Substrate: headless        Summary        When collecting a completed Claude worker with:        1devtool-agent-v2 collect --swarm=<swarmId>        the worker output contains the entire raw Claude JSON transcript instead of only the final assistant response.        Steps to reproduce        1. Start a headless Swarm targeting Claude:        {      "clientRequestId": "claude-output-test",      "brief": "Reply exactly CLAUDE_OUTPUT_OK and nothing else.",      "targets": ["claude"],      "count": 1,      "poolSize": 1,      "budget": 1,      "substrate": "headless",      "sandbox": "read"    }        2. Wait for the worker to finish.        3. Collect the result:        1devtool-agent-v2 collect --swarm=<swarmId>        Actual result        results[0].output contains a JSON-encoded array with the full Claude transcript, including:        - system initialization event    - working directory and session ID    - complete tool and MCP server inventory    - assistant and tool events    - model usage and cost metadata    - final result event        The expected final response is present only inside the nested result object:        "result": "CLAUDE_OUTPUT_OK"        Expected result        results[0].output should contain only:        CLAUDE_OUTPUT_OK        Comparison        The Hermes headless worker already returns clean final output:        "output": "CLAUDE_OUTPUT_OK\n"        Claude should follow the same output contract.        Impact        - collect responses become extremely large    - downstream callers must parse nested Claude event data    - terminal output becomes noisy and difficult to use    - tool names, MCP server names, local paths, usage data, and session metadata are unnecessarily exposed    - higher risk of hitting output-size limits    - Swarm itself still completes successfully; read/write execution is not blocked        Likely location        This appears to be a 1DevTool Claude headless output normalization/parsing issue, not a Claude worker failure.

How to reproduce

Imported from UserJot — original report did not use structured steps.

Reproducibility: Unknown · Impact: Minor issue

Environment

VERSION
unknown
OS
ARCH
CHANNEL
stable

Resolution progress

  1. PENDING

  2. REVIEWING

  3. IN PROGRESS

  4. COMPLETED

Discussion0

Newest first
  • No comments yet. Add context or ask a question below.

Sign in to comment, vote and follow this request.

Sign in to reply