#91431·hermes-agent

[Bug]: kanban_show advertises task_id as optional but rejects the call outside a dispatcher-spawned worker

Author: jalagrangeCreated Aug 21, 2026Updated Sep 17, 2026
Labelstype/bugcomp/agentcomp/cronP3

Summary

kanban_show advertises task_id as optional, but the call fails for any caller that is not a dispatcher-spawned worker. Agents in ordinary chat sessions hit this on their first turn, repeatedly.

Why it fires

The schema marks nothing required, and the parameter description invites omission:

KANBAN_SHOW_SCHEMA = {
    "name": "kanban_show",
    "description": "... Use this to (re)orient yourself before starting work ...",
    "parameters": {"properties": {"task_id": ..., "board": ...}, "required": []},
}

_DESC_TASK_ID_DEFAULT = (
    "Task id. If omitted, defaults to HERMES_KANBAN_TASK from the env "
    "(the task the dispatcher spawned you to work on)."
)

HERMES_KANBAN_TASK is set in exactly one place, hermes_cli/kanban_db.py:10764, where the dispatcher spawns a worker. Any profile with the kanban toolset enabled that is not such a worker sees an optional argument plus a description telling it to orient itself, calls the tool with no arguments, and gets:

Error: task_id is required (or set HERMES_KANBAN_TASK in the env)

The remedy the message offers is not actionable from inside a chat session.

Observed

Across two profiles on hermes serve, always 6 to 9 seconds into a brand new session, which is what makes it look like a first-turn orientation reflex rather than a one-off:

08-20 07:24:50  profile A  kanban_show
08-20 13:08:29  profile A  kanban_show
08-21 09:50:00  profile A  kanban_show
08-20 10:44:11  profile B  kanban_comment   (same class of error)

kanban_comment has the same shape: "task_id is required (use the current task id if that's what you mean, pulls from env but kept explicit here)".

Impact

Low. One wasted tool call and a red error block in the transcript; the agent recovers and continues. It is noise rather than breakage, but it is guaranteed noise for every kanban-enabled profile that also chats.

Suggested fix

Any of:

  • When there is no HERMES_KANBAN_TASK and no task_id, return the kanban_list view (or a hint pointing at it) instead of an error. The agent asked "what should I be looking at", and outside a worker that question has a good answer.
  • Make the error actionable for a chat caller: name kanban_list rather than an env var it cannot set.
  • Or expose the env default only when the process actually has it, so a non-worker sees task_id as required and supplies one.

Version: main @ 40643cbaf9, Linux, remote hermes serve with Desktop attached.

Source: NousResearch/hermes-agent