Gather all ingredients and measure them out before you begin cooking. Place your saucepan on the stove over medium-low heat and have your whisk and serving mugs ready.
Add the cocoa powder, sugar, and salt to your saucepan. Whisk these dry ingredients together thoroughly to break up any lumps and ensure the mixture is completely combined and uniform in color.
Pour about 1/4 cup of the milk into the dry mixture and whisk vigorously to create a smooth paste. Keep whisking until no dry spots remain and the mixture is glossy.
Slowly pour in the rest of the milk while whisking constantly. Scrape the bottom and sides of the pan to incorporate all the cocoa paste until the mixture is completely smooth with no visible lumps.
Increase the heat to medium and continue whisking occasionally. Heat until the hot chocolate is steaming and small bubbles form around the edges, but do not let it come to a full boil.
Once the mixture is hot and steaming, remove the pan from heat and add the chocolate chips. Let them sit for about 30 seconds, then whisk until completely melted and incorporated.
Stir in the peppermint extract, starting with 1/4 teaspoon if you prefer subtle mint, and add the vanilla extract. Whisk thoroughly, then taste and add more peppermint extract if desired.
For an extra creamy, café-style texture, use an immersion blender to blend for 20-30 seconds until frothy. If you don't have an immersion blender, simply whisk vigorously for a similar effect.
Pour the hot chocolate into your prepared mugs. Top each mug with a generous dollop of whipped cream, sprinkle with crushed candy canes, and add a whole mini candy cane as a stirrer if desired. Serve immediately while hot.