1. Preheat oven to 350 degrees F. making sure oven rack is in the middle of your oven.
2. Use a stand mixer with a paddle attachment or alternately you can mix by hand. Beat butter and both sugars together on medium speed until light and fluffy about 5 minutes, stopping
to scrap down the bowl a few times. Beat in eggs and vanilla extract until thoroughly combined, two to three minutes on medium speed, scraping down the bowl again.
3. In a separate bowl mix both flours, baking soda and salt together. Add both chocolates and walnuts, if using, toss to combine. Turn the mixer on low speed (or continue to use a wooden spoon if mixing by hand) and add flour mixture slowly mixing until completely incorporated. Refrigerate dough, covered, for 1-2 hours. (If making the next day, store dough in tightly covered container in the refrigerator.)
4. Drop dough in ¼-cup balls onto a baking sheet about two inches apart, pressing them down slightly with your palm. Bake until cookies are golden brown on the edges and slightly soft in the center, 15 to 18 minutes. Repeat until all cookies are baked! If you only have one baking sheet allow to cool before making the next batch – you can run it under cold water. Remove from oven and let cool on pan 5 minutes, remove to wire racks and cool completely. Once cooled, store cookies in an airtight container for up to three days and unbaked dough in an airtight container for up to a week in the fridge.