Skip to content

[UX] /config is read-only in TUI — cannot modify settings mid-session #4073

@SHL0MS

Description

@SHL0MS

Summary

The /config command (cli.py:1390-1391, cli.py:930-970) only displays a subset of settings. It cannot modify anything. The show_config() method accepts no arguments, has no subcommand parsing, and cannot change any values.

To change settings, users must:

  • Use specific slash commands (/model, /prompt, /personality) for the few that exist
  • Exit the TUI and use hermes config set KEY VALUE
  • Or edit ~/.hermes/config.yaml manually

Many configurable options (compression, display, delegation, memory, browser, auxiliary model) are not shown in the /config output at all — only hermes config show outside the TUI reveals the full picture.

Additionally, some config changes via slash commands take effect immediately (by resetting self.agent = None), while others require restart. Only /skin warns about partial effect. No other command indicates this.

Suggested fix

Minimal: Show full config

Make /config display all config values, not just a subset.

Better: Add /config set

Support /config set key.path value for in-session changes:

/config set agent.verbose true
/config set context.auto_compress false

Best: Indicate restart requirements

When a config change requires restart, print a warning:

✓ Set agent.model to gpt-4o (takes effect on next message)
⚠ Set tui.theme to mono (requires restart)

Impact

  • Severity: Medium — forces users out of the TUI for config changes
  • Risk: Low (read) to Medium (write)
  • Effort: Small (full display) to Medium (write support)

Ref

Additional UX audit finding.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions