hermes - ✅(Solved) Fix Kanban tools not visible to orchestrator profiles with kanban toolset enabled [3 pull requests, 1 comments, 1 participants]

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…
GitHub stats
NousResearch/hermes-agent#18968Fetched 2026-05-03 04:53:10
View on GitHub
Comments
1
Participants
1
Timeline
8
Reactions
0
Author
Participants
Timeline (top)
cross-referenced ×3labeled ×3commented ×1referenced ×1

Root Cause

  • Orchestrator profiles cannot create, link, or manage Kanban tasks via tool calls
  • The orchestrator hallucinates task creation because the SOUL.md instructs it to use kanban tools that do not exist in its schema
  • Workers spawned by the dispatcher work fine (they get HERMES_KANBAN_TASK set)

Fix Action

Fix

Modified _check_kanban_mode() to also return True when the current profile has kanban in its toolsets config.yaml, in addition to the existing HERMES_KANBAN_TASK check.

This allows orchestrator profiles to use kanban_create, kanban_link, etc. to route work, while workers continue to use the full kanban toolset via the dispatcher env var.

PR fix notes

PR #18970: fix: allow kanban tools for orchestrator profiles with kanban toolset

Description (problem / solution / changelog)

Problem

The _check_kanban_mode() gating function in tools/kanban_tools.py only returns True when HERMES_KANBAN_TASK is set in the environment. This env var is only set by the kanban dispatcher when spawning a worker process.

Orchestrator profiles (like a techlead that routes work via Kanban) never see the kanban tools, even when they have kanban explicitly listed in their toolsets config.

Impact

  • Orchestrator profiles cannot create, link, or manage Kanban tasks via tool calls
  • The orchestrator hallucinates task creation because its SOUL.md instructs it to use kanban tools that do not exist in its schema
  • Workers spawned by the dispatcher work fine (they get HERMES_KANBAN_TASK set)

Fix

Modified _check_kanban_mode() to also return True when the current profile has kanban in its toolsets config.

Uses load_config() from hermes_cli.config which has mtime-based caching, so this adds negligible overhead. The check_fn results are further TTL-cached (~30s) by the tool registry.

This allows orchestrator profiles to use kanban_create, kanban_link, etc. to route work, while workers continue to use the full kanban toolset via the dispatcher env var.

Testing

Tested in a real multi-agent setup with 4 profiles (techlead, dev, devops, qa). Before the fix, the techlead orchestrator could not see any kanban tools and hallucinated task creation. After the fix, it correctly sees and uses kanban_create, kanban_link, etc.

Fixes #18968

Changed files

  • tools/kanban_tools.py (modified, +23/-5)

PR #18971: fix(tools): allow orchestrator profiles to see kanban tools via toolsets config

Description (problem / solution / changelog)

Summary

Extends _check_kanban_mode() in tools/kanban_tools.py to also return True when the active profile has kanban in its toolsets config — not only when HERMES_KANBAN_TASK env var is set.

Problem

Orchestrator profiles (e.g., a techlead that routes work via Kanban) cannot see any kanban tools (kanban_create, kanban_link, etc.) even when they have kanban explicitly listed in their toolsets config. This is because _check_kanban_mode() only checks for the HERMES_KANBAN_TASK env var, which is only set by the kanban dispatcher when spawning a worker process.

The orchestrator then hallucinates task creation because its SOUL.md instructs it to use kanban tools that don't exist in its schema.

Fix

Add a second path to _check_kanban_mode() that checks the current config for kanban in toolsets. Uses the existing load_config() which has mtime-based caching, so this adds negligible overhead. The check_fn results are further TTL-cached (~30s) by the tools registry.

Workers continue to work via the HERMES_KANBAN_TASK env var (no change). Orchestrators now get visibility via their toolsets config.

Fixes #18968

Testing

  • Existing kanban worker behavior unchanged (env var path still checked first)
  • Orchestrator profiles with kanban in toolsets now see all 7 kanban tools
  • Profiles without kanban in toolsets continue to see zero kanban tools

Changed files

  • tools/kanban_tools.py (modified, +22/-6)

PR #18991: fix(kanban): enable kanban tools for profiles with kanban in toolsets config

Description (problem / solution / changelog)

Fix

_check_kanban_mode() now also returns True when the current profile has kanban in its toolsets config, not just when HERMES_KANBAN_TASK is set in the environment.

Problem

The _check_kanban_mode() gating function only checked os.environ.get("HERMES_KANBAN_TASK"), which is only set by the kanban dispatcher when spawning a worker process. This meant:

  • Orchestrator profiles with kanban in their toolsets config saw zero kanban tools
  • The agent would hallucinate task creation because SOUL.md instructs it to use kanban tools that don't exist in its schema
  • Only dispatched workers (with the env var set) could use kanban tools

Fix

Extended _check_kanban_mode() to also check load_config() for "kanban" in the current profile's toolsets list. Uses the same mtime-cached load_config() that other check_fn functions use, so this is cheap on repeated calls.

The existing env-var check is preserved as the first (faster) path, so there's no performance regression for dispatched workers.

Testing

  • Workers with HERMES_KANBAN_TASK set → still get all kanban tools (env var check runs first)
  • Profiles with toolsets: [kanban, ...] → now get all kanban tools
  • Profiles without kanban in toolsets and no env var → still see zero kanban tools

Fixes #18968

Changed files

  • tools/kanban_tools.py (modified, +20/-5)
RAW_BUFFERClick to expand / collapse

Problem

The _check_kanban_mode() gating function in tools/kanban_tools.py only returns True when HERMES_KANBAN_TASK is set in the environment. This environment variable is only set by the kanban dispatcher when spawning a worker process.

This means orchestrator profiles (like a techlead that routes work via Kanban) never see the kanban tools, even when they have kanban explicitly listed in their toolsets config.

Impact

  • Orchestrator profiles cannot create, link, or manage Kanban tasks via tool calls
  • The orchestrator hallucinates task creation because the SOUL.md instructs it to use kanban tools that do not exist in its schema
  • Workers spawned by the dispatcher work fine (they get HERMES_KANBAN_TASK set)

Reproduction

  1. Create a profile (e.g., techlead) with toolsets: [kanban, ...] in config.yaml
  2. Start the gateway for that profile
  3. Send a message asking it to create a Kanban task
  4. The agent reports that kanban tools are not available

Fix

Modified _check_kanban_mode() to also return True when the current profile has kanban in its toolsets config.yaml, in addition to the existing HERMES_KANBAN_TASK check.

This allows orchestrator profiles to use kanban_create, kanban_link, etc. to route work, while workers continue to use the full kanban toolset via the dispatcher env var.

extent analysis

TL;DR

Modify the _check_kanban_mode() function in tools/kanban_tools.py to return True when the current profile has kanban in its toolsets config.yaml.

Guidance

  • Update the _check_kanban_mode() function to check for kanban in the profile's toolsets config.yaml in addition to the HERMES_KANBAN_TASK environment variable.
  • Verify the fix by creating a profile with kanban in its toolsets config.yaml and checking if the kanban tools are available.
  • Test the modified function with different profiles and configurations to ensure it works as expected.
  • Consider adding logging or debugging statements to the _check_kanban_mode() function to help diagnose any issues that may arise.

Example

def _check_kanban_mode():
    # Existing check for HERMES_KANBAN_TASK environment variable
    if 'HERMES_KANBAN_TASK' in os.environ:
        return True
    
    # New check for kanban in profile's toolsets config.yaml
    if 'kanban' in current_profile.toolsets:
        return True
    
    return False

Notes

The modified _check_kanban_mode() function should allow orchestrator profiles to use kanban tools without relying on the HERMES_KANBAN_TASK environment variable.

Recommendation

Apply the workaround by modifying the _check_kanban_mode() function as described, to enable orchestrator profiles to use kanban tools.

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 - ✅(Solved) Fix Kanban tools not visible to orchestrator profiles with kanban toolset enabled [3 pull requests, 1 comments, 1 participants]