diff --git a/src/tui/tui-event-handlers.ts b/src/tui/tui-event-handlers.ts index 10de1438a..72b6e648c 100644 --- a/src/tui/tui-event-handlers.ts +++ b/src/tui/tui-event-handlers.ts @@ -8,10 +8,11 @@ type EventHandlerContext = { tui: TUI; state: TuiStateAccess; setActivityStatus: (text: string) => void; + refreshSessionInfo?: () => Promise; }; export function createEventHandlers(context: EventHandlerContext) { - const { chatLog, tui, state, setActivityStatus } = context; + const { chatLog, tui, state, setActivityStatus, refreshSessionInfo } = context; const finalizedRuns = new Map(); const noteFinalizedRun = (runId: string) => { @@ -64,6 +65,8 @@ export function createEventHandlers(context: EventHandlerContext) { noteFinalizedRun(evt.runId); state.activeChatRunId = null; setActivityStatus(stopReason === "error" ? "error" : "idle"); + // Refresh session info to update token counts in footer + void refreshSessionInfo?.(); } if (evt.state === "aborted") { chatLog.addSystem("run aborted"); diff --git a/src/tui/tui.ts b/src/tui/tui.ts index 979540e80..6848813d9 100644 --- a/src/tui/tui.ts +++ b/src/tui/tui.ts @@ -399,6 +399,7 @@ export async function runTui(opts: TuiOptions) { tui, state, setActivityStatus, + refreshSessionInfo, }); const { handleCommand, sendMessage, openModelSelector, openAgentSelector, openSessionSelector } =