hermes - 💡(How to fix) Fix Bug: /reasoning in TUI returns 'unknown reasoning value: medium'

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…

Using /reasoning in the TUI (without arguments, to view current setting) returns:

error: unknown reasoning value: medium

This happens every time, regardless of the current reasoning effort setting.

Error Message

error: unknown reasoning value: medium

Root Cause

The error originates from tui_gateway/server.py:6148:

arg = str(value or "").strip().lower()
# ...
parsed = parse_reasoning_effort(arg)
if parsed is None:
    return _err(rid, 4002, f"unknown reasoning value: {value}")

However, parse_reasoning_effort("medium") correctly returns {'enabled': True, 'effort': 'medium'} when tested directly via Python.

The issue appears to be that the TUI's config.set handler is being invoked instead of the config.get handler when the user types /reasoning without arguments. The TUI code in ui-tui/src/app/slash/commands/session.ts should route to config.get when no argument is provided:

if (!arg) {
  return ctx.gateway
    .rpc<ConfigGetValueResponse>('config.get', { key: 'reasoning' })

But somehow the SET handler receives the request with the current config value (medium) as the value parameter, and parse_reasoning_effort may fail due to an import path issue or environment mismatch in the TUI gateway process.

Fix Action

Workaround

Use CLI commands instead:

hermes config set agent.reasoning_effort xhigh
hermes config show | grep reasoning

Code Example

error: unknown reasoning value: medium

---

arg = str(value or "").strip().lower()
# ...
parsed = parse_reasoning_effort(arg)
if parsed is None:
    return _err(rid, 4002, f"unknown reasoning value: {value}")

---

if (!arg) {
  return ctx.gateway
    .rpc<ConfigGetValueResponse>('config.get', { key: 'reasoning' })

---

hermes config set agent.reasoning_effort xhigh
hermes config show | grep reasoning
RAW_BUFFERClick to expand / collapse

Hermes Version: v0.16.0 (2026.6.5) Platform: macOS, Apple Terminal Python: 3.11.15

Description

Using /reasoning in the TUI (without arguments, to view current setting) returns:

error: unknown reasoning value: medium

This happens every time, regardless of the current reasoning effort setting.

Steps to Reproduce

  1. Start Hermes TUI: hermes
  2. Type /reasoning (no arguments, to view current setting)
  3. Error appears: error: unknown reasoning value: medium

Analysis

The error originates from tui_gateway/server.py:6148:

arg = str(value or "").strip().lower()
# ...
parsed = parse_reasoning_effort(arg)
if parsed is None:
    return _err(rid, 4002, f"unknown reasoning value: {value}")

However, parse_reasoning_effort("medium") correctly returns {'enabled': True, 'effort': 'medium'} when tested directly via Python.

The issue appears to be that the TUI's config.set handler is being invoked instead of the config.get handler when the user types /reasoning without arguments. The TUI code in ui-tui/src/app/slash/commands/session.ts should route to config.get when no argument is provided:

if (!arg) {
  return ctx.gateway
    .rpc<ConfigGetValueResponse>('config.get', { key: 'reasoning' })

But somehow the SET handler receives the request with the current config value (medium) as the value parameter, and parse_reasoning_effort may fail due to an import path issue or environment mismatch in the TUI gateway process.

Workaround

Use CLI commands instead:

hermes config set agent.reasoning_effort xhigh
hermes config show | grep reasoning

Related Code

  • SET handler: tui_gateway/server.py:6104-6152
  • GET handler: tui_gateway/server.py:6392-6403
  • TUI command: ui-tui/src/app/slash/commands/session.ts:388-428
  • parse_reasoning_effort: hermes_constants.py

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