Bug Description
In the interactive CLI, typing /new can stall at the destructive-command confirmation prompt and then the active agent appears to continue/repeat prior tasks instead of cleanly starting a fresh chat.
This was reported from a real WSL CLI session on Hermes Agent v0.13.0. The immediate mitigation is to choose option [2] Always Approve once, which persists approvals.destructive_slash_confirm: false and skips the prompt on future /new calls.
Steps to Reproduce
- Start interactive Hermes CLI.
- Run at least one normal task so there is active conversation state.
- Type
/new.
- Observe the prompt:
[1] Approve Once — proceed this time only
[2] Always Approve — proceed and silence this prompt permanently
[3] Cancel — keep current conversation
Choice [1/2/3]:
- In the affected session, the CLI stalls around this prompt; after that the assistant may resume/repeat previous task execution instead of cleanly resetting.
Expected Behavior
/new should be handled atomically as a slash command. If confirmation is required, it should wait for a single explicit choice without leaking the prompt/choice interaction into the agent task queue. After confirmation, it should immediately create a clean fresh session and not repeat prior tasks.
Actual Behavior
User report: whenever /new is typed, it stalls and starts repeating tasks. The confirmation prompt appears to be implicated. Selecting option 2 permanently (Always Approve) avoids the prompt and is being used as a workaround.
Environment
- Hermes Agent: v0.13.0 (2026.5.7)
- Project checkout:
/home/gallardo25/.hermes/hermes-agent
- Config path:
/home/gallardo25/.hermes/config.yaml
- OS/runtime: WSL (Windows Subsystem for Linux), Python 3.11.15
- Provider/model in affected setup:
openai-codex / gpt-5.5
Relevant Code
The /new command calls _confirm_destructive_slash(...) before self.new_session(title=title):
cli.py around lines 7094-7103
_confirm_destructive_slash around lines 8651-8721
The workaround is equivalent to:
hermes config set approvals.destructive_slash_confirm false
Suggested Fix Direction
- Ensure
/new confirmation input cannot be routed to _pending_input / normal agent processing.
- Consider making
/new default to a non-interactive reset when typed as an exact slash command, or safely consume the prompt response before any queued/active task can continue.
- Add a regression test for
/new with confirmation enabled where the response 2 persists config and no user message is queued to the agent.
Bug Description
In the interactive CLI, typing
/newcan stall at the destructive-command confirmation prompt and then the active agent appears to continue/repeat prior tasks instead of cleanly starting a fresh chat.This was reported from a real WSL CLI session on Hermes Agent v0.13.0. The immediate mitigation is to choose option
[2] Always Approveonce, which persistsapprovals.destructive_slash_confirm: falseand skips the prompt on future/newcalls.Steps to Reproduce
/new.Expected Behavior
/newshould be handled atomically as a slash command. If confirmation is required, it should wait for a single explicit choice without leaking the prompt/choice interaction into the agent task queue. After confirmation, it should immediately create a clean fresh session and not repeat prior tasks.Actual Behavior
User report: whenever
/newis typed, it stalls and starts repeating tasks. The confirmation prompt appears to be implicated. Selecting option 2 permanently (Always Approve) avoids the prompt and is being used as a workaround.Environment
/home/gallardo25/.hermes/hermes-agent/home/gallardo25/.hermes/config.yamlopenai-codex/gpt-5.5Relevant Code
The
/newcommand calls_confirm_destructive_slash(...)beforeself.new_session(title=title):cli.pyaround lines 7094-7103_confirm_destructive_slasharound lines 8651-8721The workaround is equivalent to:
Suggested Fix Direction
/newconfirmation input cannot be routed to_pending_input/ normal agent processing./newdefault to a non-interactive reset when typed as an exact slash command, or safely consume the prompt response before any queued/active task can continue./newwith confirmation enabled where the response2persists config and no user message is queued to the agent.