- Stir the milk (or chocolate milk, if using), yeast and 1 Tbsp (12 g) of sugar and let sit 5 minutes. Add the eggs and stir to blend. Sift in the flour, the remaining sugar, cocoa powder and salt and mix (by hand or with a mixer fitted with the paddle attachment) until evenly combined. Add the butter and melted chocolate and mix until blended, then switch to a dough hook (or beat more vigorously by hand) and knead until the dough is soft and smooth, about 5 minutes. Place the dough (it will be very soft) in a lightly oiled bowl, cover, and let sit at room temperature for an hour before chilling for 8 to 24 hours.
- For the hazelnut filling, pulse the hazelnuts with the brown sugar in a food processor until finely ground. Add the egg and vanilla and pulse to combine, then add the chocolate chips (if using) and pulse lightly.
- On a floured work surface, turn out the dough and roll out to a large rectangle about ½-inch (13 mm) thick. Spread the hazelnut filling over the entire surface of the dough and then roll it up from the longer side. Cut the roll into rounds about 1-inch thick (just like making sticky buns). Lay half of the slices overlapping each other in a greased 8-cup (2 L) kugelhopf tin or bundt pan, overlapping the pieces, and then arrange the remaining slices over the first layer, overlapping. Cover the tin with a tea towel and let the brioche rise for 90 minutes.
- Preheat the oven to 350 ºF (180 ºC). Bake the brioche for about 40 minutes, until a tester inserted in the centre of it comes out clean. Allow the cake to cool for 20 minutes, then turn out on a cooling rack to cool completely.