Skip to content

fix(interactive): /reload does not apply steeringMode/followUpMode changes from settings.json #5377

@krenax

Description

@krenax

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

  1. Set "followUpMode": "all" in ~/.pi/agent/settings.json
  2. Start pi, send a prompt, queue multiple follow-ups with Alt+Enter — they fire all at once
  3. Change to "followUpMode": "one-at-a-time" in settings.json
  4. Run /reload
  5. Queue multiple follow-ups — they still fire all at once (stale setting)
  6. 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

Metadata

Metadata

Assignees

Labels

inprogressIssue is being worked on

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