diff --git a/server/agent/agent.go b/server/agent/agent.go
index f189794..a64ca1d 100644
--- a/server/agent/agent.go
+++ b/server/agent/agent.go
@@ -123,11 +123,14 @@
 
 	for _, task := range tasks {
 		if task.Status == tm.StatusToDo {
-			if err := a.processTask(task); err != nil {
-				a.logger.Error("Error processing task",
-					slog.String("task_id", task.ID),
-					slog.String("error", err.Error()))
+			err2 := a.processTask(task)
+			if err2 == nil {
+				return nil
 			}
+			a.logger.Error("Error processing task",
+				slog.String("task_id", task.ID),
+				slog.String("error", err2.Error()))
+
 		}
 	}
 
@@ -147,6 +150,15 @@
 	// Mark task as in progress
 	task.Status = tm.StatusInProgress
 	a.CurrentTask = &task.ID
+	defer func() {
+		if r := recover(); r != nil {
+			a.logger.Error("Task processing panicked, clearing agent state",
+				slog.String("task_id", task.ID),
+				slog.String("agent", a.Name))
+			a.CurrentTask = nil
+			panic(r)
+		}
+	}()
 
 	// Check if this task should generate subtasks (with LLM decision)
 	if a.thinker.ShouldGenerateSubtasks(task) {
@@ -157,8 +169,9 @@
 				slog.String("agent", a.Name))
 			return nil
 		}
-		a.logger.Error("Error processing subtask",
+		a.logger.Error("Subtask processing failed, cleared agent state",
 			slog.String("task_id", task.ID),
+			slog.String("agent", a.Name),
 			slog.String("error", err.Error()))
 	}
 
diff --git a/server/agent/manager.go b/server/agent/manager.go
index 016f5ac..3cc578e 100644
--- a/server/agent/manager.go
+++ b/server/agent/manager.go
@@ -163,10 +163,9 @@
 		return fmt.Errorf("agent %s not found for task %s", task.Assignee, taskID)
 	}
 
-	// Reset the agent's current task and running state
+	// Reset the agent's current task only - keep agent running
 	agent.CurrentTask = nil
-	agent.IsRunning = false
-	m.isRunning[agent.Name] = false
+	// Note: Do NOT set agent.IsRunning = false - agent should continue processing new tasks
 
 	m.logger.Info("Completed task for agent",
 		slog.String("task_id", taskID),
