diff --git a/src/frontends/tui/minimal.test.ts b/src/frontends/tui/minimal.test.ts index a5b507d..5a168fc 100644 --- a/src/frontends/tui/minimal.test.ts +++ b/src/frontends/tui/minimal.test.ts @@ -377,7 +377,7 @@ describe('MinimalTui backend command', () => { } }); - it('uses agent.reset for /reset when an agent is configured', async () => { + it('clears local session and resets agent for /reset when an agent is configured', async () => { const mockSession = { id: 'test', getHistory: () => [], @@ -401,8 +401,8 @@ describe('MinimalTui backend command', () => { await minimalTuiPrivates(tui).handleCommand({ type: 'reset' }); + expect(mockSession.clear).toHaveBeenCalledOnce(); expect(mockAgent.reset).toHaveBeenCalledOnce(); - expect(mockSession.clear).not.toHaveBeenCalled(); }); it('prints tools output when /tools is invoked', async () => { diff --git a/src/frontends/tui/minimal.ts b/src/frontends/tui/minimal.ts index ccd0e42..a5b2561 100644 --- a/src/frontends/tui/minimal.ts +++ b/src/frontends/tui/minimal.ts @@ -468,11 +468,11 @@ export class MinimalTui { break; case 'reset': - if (this.config.agent) { - this.config.agent.reset(); - } else { - this.config.session.clear(); - } + // Always clear the local session transcript, even in agent-backed mode, + // so the UI view matches the reset agent context. + this.config.session.clear(); + this.config.agent?.reset(); + this.totalUsage = { inputTokens: 0, outputTokens: 0 }; console.log(`${colors.gray}Session cleared.${colors.reset}\n`); break;