File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,8 +13,10 @@ extension AgentViewModel {
1313 {
1414 tab. parentTabId = parent. id
1515 }
16- // Inherit project folder from current context (resolve to directory, not file)
17- tab. projectFolder = Self . resolvedWorkingDirectory ( self . projectFolder)
16+ // Inherit project folder from the currently selected tab (parent), falling back to global
17+ let parentFolder = selectedTabId. flatMap { self . tab ( for: $0) } ? . projectFolder ?? " "
18+ let sourceFolder = parentFolder. isEmpty ? self . projectFolder : parentFolder
19+ tab. projectFolder = Self . resolvedWorkingDirectory ( sourceFolder)
1820 scriptTabs. append ( tab)
1921 if selectTab { selectedTabId = tab. id }
2022 persistScriptTabs ( )
@@ -32,8 +34,10 @@ extension AgentViewModel {
3234 numberedConfig. displayName = " \( baseName) \( existingCount + 1 ) "
3335 }
3436 let tab = ScriptTab ( llmConfig: numberedConfig)
35- // Inherit project folder from main tab (resolve to directory, not file)
36- tab. projectFolder = Self . resolvedWorkingDirectory ( self . projectFolder)
37+ // Inherit project folder from the currently selected tab, falling back to global
38+ let parentFolder = selectedTabId. flatMap { self . tab ( for: $0) } ? . projectFolder ?? " "
39+ let sourceFolder = parentFolder. isEmpty ? self . projectFolder : parentFolder
40+ tab. projectFolder = Self . resolvedWorkingDirectory ( sourceFolder)
3741 scriptTabs. append ( tab)
3842 selectedTabId = tab. id
3943 persistScriptTabs ( )
Original file line number Diff line number Diff line change @@ -35,7 +35,6 @@ extension AgentViewModel {
3535 // Spawn a fresh ScriptTab so the calling main task is not blocked. The script runs in a detached Task and
3636 // streams output to the spawned tab; this handler returns immediately.
3737 let spawnedTab = openScriptTab ( scriptName: scriptName, selectTab: false )
38- spawnedTab. projectFolder = projectFolder
3938 spawnedTab. isRunning = true
4039 spawnedTab. appendLog ( " 🦾 Spawned from main task " )
4140 spawnedTab. flush ( )
Original file line number Diff line number Diff line change @@ -166,8 +166,7 @@ extension AgentViewModel {
166166 // Spawn a fresh ScriptTab for the run so the calling LLM tab is not blocked. The script runs in a detached
167167 // Task and streams output to the spawned tab; the calling tool returns immediately.
168168 let spawnedTab = openScriptTab ( scriptName: scriptName, selectTab: false )
169- // Inherit caller's project folder explicitly (openScriptTab uses self.projectFolder, which may not match
170- // the calling tab when tabs have diverged).
169+ // Inherit caller's project folder explicitly (the calling tab may not be the selected tab).
171170 spawnedTab. projectFolder = tab. projectFolder
172171 spawnedTab. isRunning = true
173172 spawnedTab. appendLog ( " 🦾 Spawned from \( tab. scriptName) " )
You can’t perform that action at this time.
0 commit comments