From 60342d1aca3c0512659e9b5e23293b6d52e9b086 Mon Sep 17 00:00:00 2001 From: dj-oyu <68707227+dj-oyu@users.noreply.github.com> Date: Tue, 24 Feb 2026 17:54:45 +0900 Subject: [PATCH] fix: GetContextInfo workDir uses session touch_dir instead of EffectiveWorkspace EffectiveWorkspace only differs from workspace when a worktree is active. The tool-detected touch_dir from the most recent active session reflects the actual project directory the agent is working in. Co-Authored-By: Claude Opus 4.6 --- pkg/agent/loop.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/agent/loop.go b/pkg/agent/loop.go index 4c2f8c4bc..2453c62c2 100644 --- a/pkg/agent/loop.go +++ b/pkg/agent/loop.go @@ -2467,7 +2467,12 @@ func (al *AgentLoop) GetContextInfo() (workDir, planWorkDir, workspace string, b } workspace = agent.Workspace planWorkDir = agent.ContextBuilder.GetPlanWorkDir() - workDir = agent.ContextBuilder.workDir + // Use the most recent active session's touch_dir (tool-detected project directory) + if active := al.sessions.ListActive(); len(active) > 0 && active[0].TouchDir != "" { + workDir = active[0].TouchDir + } else { + workDir = agent.ContextBuilder.workDir + } bootstrap = agent.ContextBuilder.ResolveBootstrapPaths() return }