diff --git a/src/features/background-agent/manager.ts b/src/features/background-agent/manager.ts index 4d0682e3..6debf8d5 100644 --- a/src/features/background-agent/manager.ts +++ b/src/features/background-agent/manager.ts @@ -16,6 +16,7 @@ import { createInternalAgentTextPart, } from "../../shared" import { setSessionTools } from "../../shared/session-tools-store" +import { SessionCategoryRegistry } from "../../shared/session-category-registry" import { ConcurrencyManager } from "./concurrency" import type { BackgroundTaskConfig, TmuxConfig } from "../../config/schema" import { isInsideTmux } from "../../shared/tmux" @@ -859,6 +860,7 @@ export class BackgroundManager { subagentSessions.delete(task.sessionID) } } + SessionCategoryRegistry.remove(sessionID) } } @@ -1022,6 +1024,8 @@ export class BackgroundManager { this.client.session.abort({ path: { id: task.sessionID }, }).catch(() => {}) + + SessionCategoryRegistry.remove(task.sessionID) } if (options?.skipNotification) { @@ -1169,6 +1173,8 @@ export class BackgroundManager { this.client.session.abort({ path: { id: task.sessionID }, }).catch(() => {}) + + SessionCategoryRegistry.remove(task.sessionID) } try { @@ -1471,6 +1477,7 @@ Use \`background_output(task_id="${task.id}")\` to retrieve this result when rea this.tasks.delete(taskId) if (task.sessionID) { subagentSessions.delete(task.sessionID) + SessionCategoryRegistry.remove(task.sessionID) } } }