diff --git a/server/agent/agent.go b/server/agent/agent.go
index fba80b7..3c092d5 100644
--- a/server/agent/agent.go
+++ b/server/agent/agent.go
@@ -184,7 +184,7 @@
 		return fmt.Errorf("failed to generate subtasks for task: %w", err)
 	}
 
-	solutionURL, err2 := a.taskManager.ProposeSubTasks(ctx, task, analysis)
+	solutionURL, err2 := a.taskManager.ProposeSubTasks(ctx, task, analysis, a.Name)
 	if err2 != nil {
 		return fmt.Errorf("failed to propose subtasks for task: %w", err2)
 	}
diff --git a/server/agent/manager.go b/server/agent/manager.go
index ea7474d..db8f27c 100644
--- a/server/agent/manager.go
+++ b/server/agent/manager.go
@@ -167,5 +167,6 @@
 				slog.String("error", err.Error()))
 		}
 	}
-	return nil
+
+	return m.taskManager.Close()
 }
diff --git a/server/config.yaml b/server/config.yaml
index 17287d6..cc65043 100644
--- a/server/config.yaml
+++ b/server/config.yaml
@@ -43,7 +43,7 @@
   #   max_tokens: 4000
   #   system_prompt_file: "/Users/shota/github/staff/operations/agents/beckend-engineer/system.md"
   - name: "ceo"
-    role: "CEO"
+    role: "ceo"
     model: "gpt-4"
     temperature: 0.3
     max_tokens: 4000
diff --git a/server/tm/git_tm/git_task_manager.go b/server/tm/git_tm/git_task_manager.go
index cca9da8..add69ef 100644
--- a/server/tm/git_tm/git_task_manager.go
+++ b/server/tm/git_tm/git_task_manager.go
@@ -534,12 +534,12 @@
 }
 
 // GenerateSubtaskPR creates a PR with the proposed subtasks
-func (gtm *GitTaskManager) ProposeSubTasks(ctx context.Context, task *tm.Task, analysis *tm.SubtaskAnalysis) (string, error) {
+func (gtm *GitTaskManager) ProposeSubTasks(ctx context.Context, task *tm.Task, analysis *tm.SubtaskAnalysis, agentName string) (string, error) {
 	branchName := generateBranchName("subtasks", task)
 	gtm.logger.Info("Creating subtask PR", slog.String("branch", branchName))
 
 	// Create Git branch and commit subtask proposal
-	if err := gtm.createSubtaskBranch(ctx, analysis, branchName); err != nil {
+	if err := gtm.createSubtaskBranch(ctx, analysis, branchName, agentName); err != nil {
 		return "", fmt.Errorf("failed to create subtask branch: %w", err)
 	}
 
@@ -556,7 +556,7 @@
 	}
 
 	// Determine base branch (try main first, fallback to master)
-	baseBranch := gtm.determineBaseBranch(ctx)
+	baseBranch := gtm.determineBaseBranch(ctx, agentName)
 	gtm.logger.Info("Using base branch", slog.String("base_branch", baseBranch))
 
 	// Create the pull request
@@ -611,9 +611,13 @@
 	return pr.URL, nil
 }
 
+func (gtm *GitTaskManager) Close() error {
+	return gtm.git.CleanupAllClones()
+}
+
 // createSubtaskBranch creates a Git branch with subtask proposal content
-func (gtm *GitTaskManager) createSubtaskBranch(ctx context.Context, analysis *tm.SubtaskAnalysis, branchName string) error {
-	clonePath, err := gtm.git.GetAgentClonePath("subtask-service")
+func (gtm *GitTaskManager) createSubtaskBranch(ctx context.Context, analysis *tm.SubtaskAnalysis, branchName, agentName string) error {
+	clonePath, err := gtm.git.GetAgentClonePath(agentName)
 	if err != nil {
 		return fmt.Errorf("failed to get clone path: %w", err)
 	}
@@ -932,9 +936,9 @@
 	return content.String()
 }
 
-func (gtm *GitTaskManager) determineBaseBranch(ctx context.Context) string {
+func (gtm *GitTaskManager) determineBaseBranch(ctx context.Context, agentName string) string {
 	// Get clone path to check branches
-	clonePath, err := gtm.git.GetAgentClonePath("subtask-service")
+	clonePath, err := gtm.git.GetAgentClonePath(agentName)
 	if err != nil {
 		gtm.logger.Warn("Failed to get clone path for base branch detection", slog.String("error", err.Error()))
 		return "main"
diff --git a/server/tm/interface.go b/server/tm/interface.go
index f50abb1..398cb74 100644
--- a/server/tm/interface.go
+++ b/server/tm/interface.go
@@ -24,6 +24,7 @@
 	GetTasksByPriority(ctx context.Context, priority TaskPriority, page, pageSize int) (*TaskList, error)
 
 	// Proposals
-	ProposeSubTasks(ctx context.Context, task *Task, analysis *SubtaskAnalysis) (string, error)
+	ProposeSubTasks(ctx context.Context, task *Task, analysis *SubtaskAnalysis, agentName string) (string, error)
 	ProposeSolution(ctx context.Context, task *Task, solution, agentName string) (string, error)
+	Close() error
 }
diff --git a/server/workspace/agent-subtask-service b/server/workspace/agent-subtask-service
deleted file mode 160000
index 40c460a..0000000
--- a/server/workspace/agent-subtask-service
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 40c460a0faca29d90591ec77a1a0263d2b6d31f0
