diff --git a/src/ClaudeDo.Ui/ViewModels/Modals/SettingsModalViewModel.cs b/src/ClaudeDo.Ui/ViewModels/Modals/SettingsModalViewModel.cs
index 7ba8b3a..e923d8a 100644
--- a/src/ClaudeDo.Ui/ViewModels/Modals/SettingsModalViewModel.cs
+++ b/src/ClaudeDo.Ui/ViewModels/Modals/SettingsModalViewModel.cs
@@ -161,6 +161,32 @@ public sealed partial class SettingsModalViewModel : ViewModelBase
finally { IsBusy = false; }
}
+ [RelayCommand]
+ private async Task RestoreDefaultAgents()
+ {
+ IsBusy = true;
+ StatusMessage = "";
+ try
+ {
+ var result = await _worker.RestoreDefaultAgentsAsync();
+ if (result is null)
+ StatusMessage = "Worker offline.";
+ else if (result.Copied == 0 && result.Skipped == 0)
+ StatusMessage = "No default agents bundled.";
+ else if (result.Copied == 0)
+ StatusMessage = "All default agents already present.";
+ else
+ StatusMessage = $"Restored {result.Copied} default agent(s).";
+
+ await _worker.RefreshAgentsAsync();
+ }
+ catch (Exception ex)
+ {
+ StatusMessage = $"Restore failed: {ex.Message}";
+ }
+ finally { IsBusy = false; }
+ }
+
[RelayCommand]
private void OpenPath(string? path)
{
diff --git a/src/ClaudeDo.Ui/Views/Modals/SettingsModalView.axaml b/src/ClaudeDo.Ui/Views/Modals/SettingsModalView.axaml
index 09fa7b9..7aa874b 100644
--- a/src/ClaudeDo.Ui/Views/Modals/SettingsModalView.axaml
+++ b/src/ClaudeDo.Ui/Views/Modals/SettingsModalView.axaml
@@ -184,6 +184,23 @@
+
+
+
+
+
+
+
+
+
+
+