hermes - 💡(How to fix) Fix [Bug]: kanban_create accepts toolset names in skills field, causing immediate worker crash

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…

The kanban_create tool (and the skills column in the Kanban DB) accepts any string array without validation. When toolset names like "web", "browser", "terminal", or "file" are passed as skills, the dispatcher spawns a worker with --skills web browser, which immediately crashes:

Error: Unknown skill(s): web, browser

This is a very common mistake — the distinction between skills (named skill bundles like kanban-worker, blogwatcher) and toolsets (runtime capabilities like web, browser, terminal) is not obvious, and orchestrator agents frequently put toolset names in the skills field.

Error Message

Error: Unknown skill(s): web, browser

Root Cause

The kanban_create tool (and the skills column in the Kanban DB) accepts any string array without validation. When toolset names like "web", "browser", "terminal", or "file" are passed as skills, the dispatcher spawns a worker with --skills web browser, which immediately crashes:

Error: Unknown skill(s): web, browser

This is a very common mistake — the distinction between skills (named skill bundles like kanban-worker, blogwatcher) and toolsets (runtime capabilities like web, browser, terminal) is not obvious, and orchestrator agents frequently put toolset names in the skills field.

Fix Action

Workaround

Manual DB surgery:

UPDATE tasks SET skills = [] WHERE id = t_xxx;

Then hermes kanban unblock t_xxx && hermes kanban dispatch

This is documented in the kanban-orchestrator skill pitfalls section.

Code Example

Error: Unknown skill(s): web, browser

---

kanban_create(title="Research competitors", assignee="researcher", skills=["web", "browser"])

---

UPDATE tasks SET skills = [] WHERE id = t_xxx;
RAW_BUFFERClick to expand / collapse

Summary

The kanban_create tool (and the skills column in the Kanban DB) accepts any string array without validation. When toolset names like "web", "browser", "terminal", or "file" are passed as skills, the dispatcher spawns a worker with --skills web browser, which immediately crashes:

Error: Unknown skill(s): web, browser

This is a very common mistake — the distinction between skills (named skill bundles like kanban-worker, blogwatcher) and toolsets (runtime capabilities like web, browser, terminal) is not obvious, and orchestrator agents frequently put toolset names in the skills field.

Steps to Reproduce

  1. Create a kanban task with toolset names as skills:
    kanban_create(title="Research competitors", assignee="researcher", skills=["web", "browser"])
  2. Dispatcher picks up the task and spawns a worker
  3. Worker crashes immediately with Error: Unknown skill(s): web, browser
  4. Task increments consecutive_failures and eventually gets auto-blocked

Expected Behavior

kanban_create should validate the skills parameter against known skill names and reject toolset names before the task is created — fail fast at creation time, not at dispatch time.

Suggested Fix

  1. Add a validation step in kanban_create that checks each entry in skills against the known skills registry (or at minimum against a deny-list of known toolset names: web, browser, terminal, file, hermes-cli, discord, etc.)
  2. If invalid entries are found, return a clear error: "web" is a toolset name, not a skill name. Add it to the profile config under toolsets: instead.
  3. Optionally: add a migration/lint that scans existing tasks for toolset-name skills and clears them.

Environment

  • Hermes Agent v2.x
  • Observed across multiple sessions and profiles
  • Affects both CLI-created and agent-created tasks

Workaround

Manual DB surgery:

UPDATE tasks SET skills = [] WHERE id = t_xxx;

Then hermes kanban unblock t_xxx && hermes kanban dispatch

This is documented in the kanban-orchestrator skill pitfalls section.

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

hermes - 💡(How to fix) Fix [Bug]: kanban_create accepts toolset names in skills field, causing immediate worker crash