diff --git a/internal/llm/tools/shell/shell.go b/internal/llm/tools/shell/shell.go index 10fa3779f3ed61ca1ad72dfcb5883c3c7ab57619..5731faec345d84c9d6773c914feac976a7045ca8 100644 --- a/internal/llm/tools/shell/shell.go +++ b/internal/llm/tools/shell/shell.go @@ -47,8 +47,10 @@ func GetPersistentShell(workingDir string) *PersistentShell { shellInstance = newPersistentShell(workingDir) }) - if shellInstance == nil || !shellInstance.isAlive { + if shellInstance == nil { shellInstance = newPersistentShell(workingDir) + } else if !shellInstance.isAlive { + shellInstance = newPersistentShell(shellInstance.cwd) } return shellInstance