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()))
 	}
 
