Step 1: Roast the hazelnuts: Preheat oven to 350°F. Spread hazelnuts on a baking sheet and roast for 12–15 minutes, until fragrant and skins begin to crack.
Step 2: Remove the skins: Let hazelnuts cool slightly, then transfer to a clean kitchen towel. Rub vigorously to remove most of the skins (it’s okay if a few remain).
Step 3: Blend into hazelnut butter: Add warm hazelnuts to a food processor. Blend for 1–2 minutes until crumbly, then continue processing (about 4–6 minutes total) until smooth and creamy.
Step 4: Add remaining ingredients: Add cocoa powder (or melted chocolate), sweetener, vanilla, salt, and oil. Blend until fully combined and silky.
Step 5: Adjust consistency: Add milk 1 tablespoon at a time (if using) until you reach your desired smooth, spreadable consistency.
Step 6: Taste and adjust: Adjust sweetness, chocolate level, or richness to your preference.
Step 7: Store: Transfer to a jar. Store at room temperature for 1–2 weeks or refrigerate for up to 1 month. Let soften slightly before using if chilled.