Skip to content

UX: Slash commands require exact full name — partial matching and Tab completion not surfacing #928

@yxssxn

Description

@yxssxn

Summary

Slash commands must be typed in full to register. Partial command entry (e.g. /con for /config, /mod for /model) returns "Unknown command" even when there is only one possible match.

Current behaviour

```
/con
Unknown command: /con
```

Expected behaviour

Either:

  • Partial matching at execution time — if the prefix uniquely identifies one command, execute it (as Claude Code does)
  • Tab completion surfaces reliably — the SlashCommandCompleter with complete_while_typing=True exists in the code but the completion dropdown does not appear consistently in CLI sessions

Technical context

SlashCommandCompleter is implemented in hermes_cli/commands.py and wired to the TextArea in cli.py with complete_while_typing=True. The completer correctly yields prefix-matched completions. The gap is at command dispatch time — the command handler does not attempt prefix matching, only exact matching.

A simple fix would be to check for unambiguous prefix matches in the command dispatcher before returning "Unknown command".

Environment

  • Hermes Agent v1.0.0
  • macOS 15.3
  • CLI mode

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions