diff --git a/src/hooks/anthropic-context-window-limit-recovery/executor.test.ts b/src/hooks/anthropic-context-window-limit-recovery/executor.test.ts index 8ddd3974e..f773bc49b 100644 --- a/src/hooks/anthropic-context-window-limit-recovery/executor.test.ts +++ b/src/hooks/anthropic-context-window-limit-recovery/executor.test.ts @@ -257,7 +257,7 @@ describe("executeCompact lock management", () => { expect(mockClient.session.summarize).toHaveBeenCalledWith( expect.objectContaining({ path: { id: sessionID }, - body: { providerID: "anthropic", modelID: "claude-opus-4-5" }, + body: { providerID: "anthropic", modelID: "claude-opus-4-5", auto: true }, }), ) diff --git a/src/hooks/anthropic-context-window-limit-recovery/executor.ts b/src/hooks/anthropic-context-window-limit-recovery/executor.ts index dade30d88..8508e3c46 100644 --- a/src/hooks/anthropic-context-window-limit-recovery/executor.ts +++ b/src/hooks/anthropic-context-window-limit-recovery/executor.ts @@ -409,7 +409,7 @@ export async function executeCompact( try { await (client as Client).session.prompt_async({ path: { id: sessionID }, - body: { parts: [{ type: "text", text: "Continue" }] }, + body: { auto: true } as never, query: { directory }, }); } catch {} @@ -497,21 +497,12 @@ export async function executeCompact( }) .catch(() => {}); + const summarizeBody = { providerID, modelID, auto: true } await (client as Client).session.summarize({ path: { id: sessionID }, - body: { providerID, modelID }, + body: summarizeBody as never, query: { directory }, }); - - setTimeout(async () => { - try { - await (client as Client).session.prompt_async({ - path: { id: sessionID }, - body: { parts: [{ type: "text", text: "Continue" }] }, - query: { directory }, - }); - } catch {} - }, 500); return; } catch { const delay = diff --git a/src/hooks/preemptive-compaction/index.ts b/src/hooks/preemptive-compaction/index.ts index 91890f497..58b5a8223 100644 --- a/src/hooks/preemptive-compaction/index.ts +++ b/src/hooks/preemptive-compaction/index.ts @@ -169,9 +169,10 @@ export function createPreemptiveCompactionHook( }) } + const summarizeBody = { providerID, modelID, auto: true } await ctx.client.session.summarize({ path: { id: sessionID }, - body: { providerID, modelID }, + body: summarizeBody as never, query: { directory: ctx.directory }, }) @@ -187,22 +188,6 @@ export function createPreemptiveCompactionHook( .catch(() => {}) state.compactionInProgress.delete(sessionID) - - setTimeout(async () => { - try { - const messageDir = getMessageDir(sessionID) - const storedMessage = messageDir ? findNearestMessageWithFields(messageDir) : null - - await ctx.client.session.promptAsync({ - path: { id: sessionID }, - body: { - agent: storedMessage?.agent, - parts: [{ type: "text", text: "Continue" }], - }, - query: { directory: ctx.directory }, - }) - } catch {} - }, 500) return } catch (err) { log("[preemptive-compaction] compaction failed", { sessionID, error: err })