Skip to content

[Bug]: Kanban workers should never use clarify — use kanban_block instead (task hangs in running) #32167

@kweiner

Description

@kweiner

Summary

When a kanban worker calls the clarify tool, the call always times out because there is no live user on the other end — the worker runs headless. The task remains in running status with no visible indicator that it is waiting, and no notification reaches the operator.

This is a silent productivity drain: the task is effectively stranded but looks "in progress".

Steps to Reproduce

  1. Create a kanban task that requires a human decision
  2. The worker agent calls clarify() instead of kanban_block()
  3. The clarify call blocks for clarify_timeout (default ~120s)
  4. After timeout, the agent receives no answer and either retries or hallucinates
  5. The task stays in running — the operator has no way to know it needs input

Observed in production: a kanban worker called clarify asking "Want me to promote to production, or check staging first?" The clarify timed out, the agent produced a confused fallback response, and the task sat in "running" for hours.

Expected Behavior

Kanban workers should never call clarify. Instead, they should:

  1. kanban_comment(body="...") with full context
  2. kanban_block(reason="<specific decision needed>") to transition to blocked status

This way the operator sees the task in blocked on the board and can act on it.

Fix Locations

Two levels:

  1. agent/prompt_builder.py — The auto-injected KANBAN_GUIDANCE system prompt should include an explicit "Do NOT use clarify" bullet in the ## Do NOT section. This is the canonical guidance every kanban worker sees.

  2. skills/kanban-worker/SKILL.md — The shipped kanban-worker skill should have an explicit "Never call clarify" rule. (Local workaround: patched in user's local copy.)

Related Issues

Additional Context

The kanban-worker skill already documents the kanban_comment + kanban_block pattern for asking human questions. Adding a "never use clarify" rule closes the gap where a worker might choose clarify over block.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existscomp/agentCore agent loop, run_agent.py, prompt buildertool/skillsSkills system (list, view, manage)type/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions