Problem
The /reload command does not re-sync steeringMode and followUpMode from settings.json to the running AgentSession. These queue mode settings are only read at session creation time, so changes to settings.json require a full restart to take effect.
Related to #2753 (stale settings after /reload).
Steps to reproduce
- Set
"followUpMode": "all" in ~/.pi/agent/settings.json
- Start pi, send a prompt, queue multiple follow-ups with Alt+Enter — they fire all at once
- Change to
"followUpMode": "one-at-a-time" in settings.json
- Run
/reload
- Queue multiple follow-ups — they still fire all at once (stale setting)
- Restart pi fully — now they fire one at a time ✓
Root Cause
In interactive-mode.ts, handleReloadCommand() reloads keybindings, themes, editor settings, etc. — but never re-reads steeringMode/followUpMode from the settings manager.
The AgentSession already has setSteeringMode() and setFollowUpMode() methods that update both the agent and persist to settings — they just aren't called during reload.
Proposed Fix
Add two lines to handleReloadCommand() after await this.session.reload():
this.session.setSteeringMode(this.settingsManager.getSteeringMode());
this.session.setFollowUpMode(this.settingsManager.getFollowUpMode());
Also update the reload status message to mention queue modes.
Version
0.78.0
Problem
The
/reloadcommand does not re-syncsteeringModeandfollowUpModefromsettings.jsonto the runningAgentSession. These queue mode settings are only read at session creation time, so changes tosettings.jsonrequire a full restart to take effect.Related to #2753 (stale settings after /reload).
Steps to reproduce
"followUpMode": "all"in~/.pi/agent/settings.json"followUpMode": "one-at-a-time"insettings.json/reloadRoot Cause
In
interactive-mode.ts,handleReloadCommand()reloads keybindings, themes, editor settings, etc. — but never re-readssteeringMode/followUpModefrom the settings manager.The
AgentSessionalready hassetSteeringMode()andsetFollowUpMode()methods that update both the agent and persist to settings — they just aren't called during reload.Proposed Fix
Add two lines to
handleReloadCommand()afterawait this.session.reload():Also update the reload status message to mention queue modes.
Version
0.78.0