Preheat oven to 350°F (175°C). Line two cookie sheets with parchment paper or silicone baking mats. Crush candy canes in a sealed plastic bag with a rolling pin into small chocolate-chip-sized pieces.
In a medium mixing bowl, whisk together the all-purpose flour, baking soda, and salt until well combined with no clumps. Set aside.
In a stand mixer with paddle attachment or large bowl with hand mixer, beat softened butter, granulated sugar, and packed brown sugar on medium-high for 3-4 minutes until light, fluffy, and pale. Scrape down sides halfway through.
Reduce speed to medium and add eggs one at a time, mixing well after each. Add vanilla extract and peppermint extract, beating until just combined. Do not overmix.
With mixer on low speed, gradually add the flour mixture in three additions, mixing after each until just barely combined. Stop as soon as no dry flour streaks remain.
Remove bowl from mixer and use a rubber spatula to gently fold in the semi-sweet chocolate chips and crushed candy canes until evenly distributed. Reserve a few crushed candy canes for topping if desired.
Using a 2-tablespoon cookie scoop, portion dough balls onto prepared cookie sheets, spacing about 2 inches apart (8-10 per sheet). Gently press extra candy cane pieces on top if desired.
Bake one sheet at a time on center rack for 10-12 minutes, until edges are set and lightly golden but centers still look slightly underdone. Rotate pan halfway through if your oven has hot spots.
Let cookies cool on baking sheet for 5 minutes, then transfer to a wire cooling rack using a spatula. Cool completely before storing. Repeat with remaining dough, letting cookie sheets cool between batches.