diff --git a/app/src/features/chat/ContextMeter.tsx b/app/src/features/chat/ContextMeter.tsx index 7ba43671..c21e6a27 100644 --- a/app/src/features/chat/ContextMeter.tsx +++ b/app/src/features/chat/ContextMeter.tsx @@ -39,6 +39,8 @@ export function ContextMeter({ bot, onLater }: { bot: Bot; onLater(text: string) const near = usedTokens >= limit * NEAR; const left = autoCompactTokens === null ? null : autoCompactTokens - usedTokens; const claude = bot.agent === "claude"; + // Claude Code and Codex answer a request to compact (spec 30). + const compactable = claude || bot.agent === "codex"; const running = bot.state === "idle" || bot.state === "busy" || bot.state === "needs_approval"; const compact = async () => { @@ -77,17 +79,19 @@ export function ContextMeter({ bot, onLater }: { bot: Bot; onLater(text: string) )}

- {!claude + {!compactable ? m.estimate - : left === null - ? m.noAuto - : left > 0 - ? m.autoLeft(tokens(left), tokens(autoCompactTokens ?? 0)) - : m.autoNow} + : bot.agent === "codex" + ? m.byItself + : left === null + ? m.noAuto + : left > 0 + ? m.autoLeft(tokens(left), tokens(autoCompactTokens ?? 0)) + : m.autoNow}

{m.about(bot.name)}

{/* Only Claude Code answers a request to compact (spec 30). */} - {claude && ( + {compactable && (