diff --git a/src/ClaudeDo.Worker/Services/TaskMergeService.cs b/src/ClaudeDo.Worker/Services/TaskMergeService.cs index e8700e3..bc2b1bb 100644 --- a/src/ClaudeDo.Worker/Services/TaskMergeService.cs +++ b/src/ClaudeDo.Worker/Services/TaskMergeService.cs @@ -216,7 +216,8 @@ public sealed class TaskMergeService if (!await _git.IsMidMergeAsync(list.WorkingDir, ct)) return Blocked("repo is not mid-merge"); - await _git.MergeAbortAsync(list.WorkingDir, ct); + try { await _git.MergeAbortAsync(list.WorkingDir, ct); } + catch (Exception ex) { return Blocked($"abort failed: {ex.Message}"); } _logger.LogInformation("Aborted merge of task {TaskId}", taskId); return new MergeResult(StatusAborted, Array.Empty(), null);