From 049cedc5fdd7379e8dbbbe830d72fabd161189c8 Mon Sep 17 00:00:00 2001 From: kumarabhirup Date: Thu, 19 Feb 2026 21:51:26 -0800 Subject: [PATCH] agent: accept workspace override and invalidate skills snapshot on workspace switch --- src/commands/agent.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/commands/agent.ts b/src/commands/agent.ts index d2985c8c303..e892a478375 100644 --- a/src/commands/agent.ts +++ b/src/commands/agent.ts @@ -217,7 +217,7 @@ export async function agentCommand( } const agentCfg = cfg.agents?.defaults; const sessionAgentId = agentIdOverride ?? resolveAgentIdFromSessionKey(opts.sessionKey?.trim()); - const workspaceDirRaw = resolveAgentWorkspaceDir(cfg, sessionAgentId); + const workspaceDirRaw = opts.workspace?.trim() || resolveAgentWorkspaceDir(cfg, sessionAgentId); const agentDir = resolveAgentDir(cfg, sessionAgentId); const workspace = await ensureAgentWorkspace({ dir: workspaceDirRaw, @@ -332,7 +332,11 @@ export async function agentCommand( }); } - const needsSkillsSnapshot = isNewSession || !sessionEntry?.skillsSnapshot; + const cachedSnapshot = sessionEntry?.skillsSnapshot; + const needsSkillsSnapshot = + isNewSession || + !cachedSnapshot || + (cachedSnapshot.workspaceDir && cachedSnapshot.workspaceDir !== workspaceDir); const skillsSnapshotVersion = getSkillsSnapshotVersion(workspaceDir); const skillFilter = resolveAgentSkillsFilter(cfg, sessionAgentId); const skillsSnapshot = needsSkillsSnapshot