diff --git a/hermes_cli/setup.py b/hermes_cli/setup.py index 8f6b633c6..f969bd4bd 100644 --- a/hermes_cli/setup.py +++ b/hermes_cli/setup.py @@ -1460,7 +1460,9 @@ def setup_agent_settings(config: dict): ) print_info("Maximum tool-calling iterations per conversation.") print_info("Higher = more complex tasks, but costs more tokens.") - print_info("Default is 90, which works for most tasks. Use 150+ for open exploration.") + print_info( + f"Press Enter to keep {current_max}. Use 90 for most tasks or 150+ for open exploration." + ) max_iter_str = prompt("Max iterations", current_max) try: diff --git a/tests/hermes_cli/test_setup_agent_settings.py b/tests/hermes_cli/test_setup_agent_settings.py new file mode 100644 index 000000000..868be7508 --- /dev/null +++ b/tests/hermes_cli/test_setup_agent_settings.py @@ -0,0 +1,29 @@ +"""Tests for agent-settings copy in the interactive setup wizard.""" + +from hermes_cli.setup import setup_agent_settings + + +def test_setup_agent_settings_uses_displayed_max_iterations_value(tmp_path, monkeypatch, capsys): + """The helper text should match the value shown in the prompt.""" + monkeypatch.setenv("HERMES_HOME", str(tmp_path)) + + config = { + "agent": {"max_turns": 90}, + "display": {"tool_progress": "all"}, + "compression": {"threshold": 0.50}, + "session_reset": {"mode": "both", "idle_minutes": 1440, "at_hour": 4}, + } + + prompt_answers = iter(["60", "all", "0.5"]) + + monkeypatch.setattr("hermes_cli.setup.get_env_value", lambda key: "60" if key == "HERMES_MAX_ITERATIONS" else "") + monkeypatch.setattr("hermes_cli.setup.prompt", lambda *args, **kwargs: next(prompt_answers)) + monkeypatch.setattr("hermes_cli.setup.prompt_choice", lambda *args, **kwargs: 4) + monkeypatch.setattr("hermes_cli.setup.save_env_value", lambda *args, **kwargs: None) + monkeypatch.setattr("hermes_cli.setup.save_config", lambda *args, **kwargs: None) + + setup_agent_settings(config) + + out = capsys.readouterr().out + assert "Press Enter to keep 60." in out + assert "Default is 90" not in out