Skip to content

droid exec --output-format stream-json is missing a matching id in tool_result messages #258

@britannio

Description

@britannio

Previously, tool calls and tool call results would contain a matching id field to correlate tool call results with tool calls.

Here's an example trace taken a few days ago.
https://github.com/BloopAI/vibe-kanban/blob/fa7245c632ac774ec71a98e26094e0fb6d70cf14/crates/executors/tests/droid_snapshots/fixtures/edits-and-execution.jsonl#L3-L4

In v0.22.2, this id field is omitted from the tool result messages. Since tools can be called in parallel and thus tool result ordering isn't stable, it's harder to reliably match tool call results with their tool calls without this field.

Example:

{"type":"tool_call","id":"call_2yjwwOa7wMTvPUAo58lgUU2z","messageId":"3a213d62-8f07-48dd-8ec8-abeb68ade47c","toolId":"Execute","toolName":"Execute","parameters":{"command":"cargo new calculator --bin","timeout":90,"riskLevel":{"value":"medium","reason":"Creates new files and directories in the workspace using Cargo."}},"timestamp":1761339150464,"session_id":"2c4cca33-6fcb-4b4c-b9f2-793ad5174978"}
{"type":"tool_result","messageId":"3358106a-e957-4df9-9ae2-79bc4bf4c5ea","toolId":"","isError":false,"value":"    Creating binary (application) `calculator` package\nnote: see more `Cargo.toml` keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html\n\n\n[Process exited with code 0]","timestamp":1761339150590,"session_id":"2c4cca33-6fcb-4b4c-b9f2-793ad5174978"}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions