diff --git a/src/ClaudeDo.Ui/Design/IslandStyles.axaml b/src/ClaudeDo.Ui/Design/IslandStyles.axaml
index ce7348e8..cfb61d9a 100644
--- a/src/ClaudeDo.Ui/Design/IslandStyles.axaml
+++ b/src/ClaudeDo.Ui/Design/IslandStyles.axaml
@@ -867,6 +867,19 @@
+
+
+
diff --git a/src/ClaudeDo.Ui/ViewModels/Islands/ListFolderNavItemViewModel.cs b/src/ClaudeDo.Ui/ViewModels/Islands/ListFolderNavItemViewModel.cs
index 39cf4941..98121452 100644
--- a/src/ClaudeDo.Ui/ViewModels/Islands/ListFolderNavItemViewModel.cs
+++ b/src/ClaudeDo.Ui/ViewModels/Islands/ListFolderNavItemViewModel.cs
@@ -18,6 +18,8 @@ public sealed partial class ListFolderNavItemViewModel : ViewModelBase
[ObservableProperty] private string _iconKey = "Folder";
/// Hex colour for name + guide line; null = theme default.
[ObservableProperty] private string? _color;
+ /// Set on the first user toggle so the expand animation skips folders that load already open.
+ [ObservableProperty] private bool _animateExpand;
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(ShowCount))]
private bool _isCollapsed;
diff --git a/src/ClaudeDo.Ui/ViewModels/Islands/ListsIslandViewModel.cs b/src/ClaudeDo.Ui/ViewModels/Islands/ListsIslandViewModel.cs
index d327b1c6..dc9afa95 100644
--- a/src/ClaudeDo.Ui/ViewModels/Islands/ListsIslandViewModel.cs
+++ b/src/ClaudeDo.Ui/ViewModels/Islands/ListsIslandViewModel.cs
@@ -730,6 +730,7 @@ public sealed partial class ListsIslandViewModel : ViewModelBase, IDisposable
private void ToggleFolder(ListFolderNavItemViewModel? folder)
{
if (folder is null) return;
+ folder.AnimateExpand = true;
folder.IsCollapsed = !folder.IsCollapsed;
if (_folderCollapseCts.TryGetValue(folder.Id, out var previous)) previous.Cancel();
var cts = new CancellationTokenSource();
diff --git a/src/ClaudeDo.Ui/Views/Islands/ListsIslandView.axaml b/src/ClaudeDo.Ui/Views/Islands/ListsIslandView.axaml
index 601e6f68..077037d5 100644
--- a/src/ClaudeDo.Ui/Views/Islands/ListsIslandView.axaml
+++ b/src/ClaudeDo.Ui/Views/Islands/ListsIslandView.axaml
@@ -162,7 +162,8 @@
-
+