diff --git a/internal/workspace/image_preference.go b/internal/workspace/image_preference.go index 5ffd6f12..6abc7e05 100644 --- a/internal/workspace/image_preference.go +++ b/internal/workspace/image_preference.go @@ -138,7 +138,11 @@ func workspaceSkillDiscoveryRootsFromMetadata(metadata map[string]any) ([]string return []string{}, true } - return normalizeWorkspaceSkillDiscoveryRoots(roots), true + normalized := normalizeWorkspaceSkillDiscoveryRoots(roots) + if normalized == nil { + return []string{}, true + } + return normalized, true } func withWorkspaceImagePreference(metadata map[string]any, image string) map[string]any { diff --git a/internal/workspace/image_preference_test.go b/internal/workspace/image_preference_test.go index 157a09f2..f1ab7a8b 100644 --- a/internal/workspace/image_preference_test.go +++ b/internal/workspace/image_preference_test.go @@ -163,6 +163,9 @@ func TestWorkspaceSkillDiscoveryRootsExplicitDisableRemainsPresent(t *testing.T) if !ok { t.Fatal("expected skill discovery roots key to remain present") } + if roots == nil { + t.Fatal("expected explicit disable to return a non-nil empty slice") + } if len(roots) != 0 { t.Fatalf("expected explicit disable with no roots, got %#v", roots) }