Preheat your oven to 375°F (190°C) and line baking sheets with parchment paper or silicone mats. Position oven racks in the upper and lower thirds and allow 10–15 minutes to fully preheat.
In a medium bowl, whisk together the flour, baking soda, and salt for at least 30 seconds to evenly distribute the leavening agent. Set aside.
Beat the softened butter, granulated sugar, and brown sugar together on medium speed for 3–4 minutes until light, fluffy, and pale. Scrape down the bowl sides halfway through.
Add eggs one at a time, beating for 30 seconds after each, then mix in the vanilla extract. Scrape down the bowl; the mixture may look slightly curdled, which is normal.
With the mixer on low, add the flour mixture in three additions, mixing just until no white streaks remain after each. Do not overmix — the dough should be thick and pull away from the bowl sides.
Remove from the mixer and fold in the chocolate chips (and nuts if using) with a rubber spatula using a gentle turning motion. Reserve a small handful of chips to press into the tops before baking.
Scoop rounded 2-tablespoon balls of dough, roll between your palms, and place at least 2 inches apart on prepared baking sheets (6–8 per sheet). Press 2–3 reserved chips into the top of each ball.
Bake for 9–11 minutes, rotating pans halfway through, until edges are golden brown and centers look slightly underbaked and puffy. Pull at 9 minutes for chewier cookies, 11 minutes for crispier edges.
Let cookies rest on the baking sheet for 5 minutes to set, then transfer to a wire cooling rack. Allow at least 15–30 minutes before serving for the best texture.