#113024·hermes-agent

[Feature]: Add a deterministic /to <bot> command for direct Bot routing in Desktop sessions

Author: Riversid17Created Sep 16, 2026Updated Oct 2, 2026
Labelstype/featureP3comp/desktop

Feature Description

Hermes Desktop should provide a deterministic command that routes a prompt directly to a specific Bot profile from any regular Desktop session.

For example:

/to research Compare these two products and cite the sources.
/to production Turn the approved analysis into a presentation.

Optional user-defined aliases could provide shorter commands:

/research Compare these two products and cite the sources.
/production Turn the approved analysis into a presentation.

The command should:

  1. resolve the target against the Bot Mode roster;
  2. start the target profile's backend automatically if it is idle;
  3. execute the prompt with the target profile's own model, memory, skills, tools, and permissions;
  4. keep the user in the originating session;
  5. return the target Bot's response to that originating session with clear attribution.

This is not a profile switch. The current profile and session should remain active. It is also not a natural-language reference that depends on an LLM deciding whether to call message_agent.

Motivation

A user can work in a normal session owned by one Bot profile and need a specialist Bot for one task. The current options add friction or change the interaction model:

  • open the Bots pane and click the target Bot, which opens or wakes its canonical Bot Chat;
  • switch profiles and create a separate session;
  • use an @mention, which is a semantic reference and can depend on session capability and model behavior;
  • ask the current agent in natural language to contact another Bot, which is not a deterministic command and historically depends on where message_agent is available;
  • build a local Desktop plugin for each installation.

A first-class direct-routing command would make multi-profile Bot setups easier to use. It would also preserve separate topic sessions: a coordinating Bot could delegate a specific request to a specialist without moving the user to another profile or mixing all work into one canonical Bot Chat.

Proposed Solution

Add a built-in Desktop slash command such as:

/to <bot-handle> <prompt>

Suggested behavior:

  • Show Bot handles in slash-command autocomplete.
  • Resolve the target through the live, source-qualified Bot Mode roster.
  • Reject unknown or ambiguous targets with a clear error and suggestions.
  • Dispatch through the structured Bot Mode delivery path rather than through a generated shell command.
  • Cold-start the target backend when necessary. The user should not need to click the Bot first.
  • Preserve the originating session as the reply route.
  • Show an immediate delivery acknowledgement, then append the attributed response when the target finishes.
  • Preserve the target profile's normal authorization, approval, model, tool, and isolation rules.
  • Support local profiles first. The routing contract should remain source-qualified so connected machines can be supported safely.

Custom aliases such as /research could be an optional extension through the broader custom-command system. The core requirement is one stable built-in command that works without configuration.

Acceptance Criteria

  • A user can run /to <bot> <prompt> from a regular Hermes Desktop session owned by any profile.
  • The target Bot can be idle when the command is sent; Hermes starts it automatically.
  • The current profile and current session do not change.
  • The target runs with its own profile configuration and isolation boundaries.
  • The response returns to the originating session and identifies the responding Bot.
  • Routing does not depend on the current LLM interpreting an @mention or choosing to call a tool.
  • No shell command is assembled from the Bot handle or prompt text.
  • Unknown, unreachable, or ambiguous targets fail clearly.
  • Tests cover local routing, idle-backend startup, reply correlation, same-named targets on different connections, and authorization failures.

Alternatives Considered

@bot mentions

Mentions are useful for natural-language handoffs, but they are not a command. They also involve mention middleware and agent/tool behavior. The requested workflow is deterministic: the user explicitly selects the target Bot and expects the prompt to be routed there.

Switch profile, then create a new session

This talks directly to the target profile, but it moves the user away from the originating session and splits a single workflow across chats.

Open the target Bot Chat

This requires navigation and can mix unrelated delegated tasks into one canonical conversation.

Ask the current agent to use message_agent

This depends on model interpretation and on the session exposing the tool. A user command should route directly without requiring an intermediate agent decision.

Custom Desktop plugin

A plugin can implement aliases, but every multi-Bot user would have to recreate routing, roster resolution, startup, reply correlation, and safety checks. These are core Bot Mode concerns and are safer as a built-in capability.

Additional Context

This request is Desktop-specific and narrower than a general custom-command framework or messaging-platform routing.

Related issues:

  • #94018 and #101556 cover @mention / message_agent handoffs from regular Desktop sessions.
  • #25335 requests general custom slash commands and aliases.
  • #52860 requests slash-command profile routing through a messaging gateway.
  • #65936 requests /profile <name> switching on messaging platforms. Switching profiles is different from routing one prompt while keeping the current session active.

Environment where the need was identified:

  • Hermes Agent v0.21.3 (2026.9.14)
  • Hermes Desktop on Windows 11
  • Multiple local Bot Mode profiles

Source: NousResearch/hermes-agent