hermes - 💡(How to fix) Fix [Bug]: Kanban workers should never use clarify — use kanban_block instead (task hangs in running)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

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".

Root Cause

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.

Fix Action

Fix / Workaround

  1. 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.)
RAW_BUFFERClick to expand / collapse

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

  • #31565 — webhook agents also cannot use clarify (similar root cause but different context — webhook agents have a delivery channel, kanban workers have none)
  • #12573 — gateway sessions never wire clarify_callback
  • #26009 — clarify hangs on Discord

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.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING