Skip to content

QA: Tool stuck in running state (◇) — tool_end never updates to ✓ #86

@randomm

Description

@randomm

Bug

A tool line shows gray diamond ◇ (running) but never transitions to green ✓ (done):

◇ bash  ls -la /Users/janni/git/ratcher/*.md 2>/dev/null | head -20

All surrounding tools show ✓ (completed). This specific bash call appears stuck in running state.

Probable Cause

The dedup logic may be interfering with callID matching. When a deduped tool_start reuses lastToolId, the actual callID from the backend differs. When tool_end arrives with the real callID, it can't find the tool in the Live Block's map because it was stored under a different (deduped) ID.

Scenario:

  1. tool_start: bash (callID: abc) → key matches lastToolKey → reuses lastToolId (deduped)
  2. tool_start: bash (callID: def) → different args → new entry with id=def
  3. tool_end: bash (callID: def) → finds id=def → ✓ updated
  4. tool_end: bash (callID: abc) → looks for abc but it was stored under lastToolId → NOT FOUND → stuck as ◇

Screenshot

QA round 2 of commit ab9fad5 on feature/oclite-ui-components.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions