Prep the basics. Heat your oven to 350°F (175°C). Line two baking sheets with parchment paper or silicone mats.
Set out a cooling rack.
Cream the butter and sugars. In a large bowl, beat the softened butter, granulated sugar, and brown sugar until light and creamy, about 2–3 minutes. This step builds structure and helps with that chewy center.
Add eggs and vanilla. Beat in the eggs one at a time, scraping the bowl as needed. Mix in the vanilla until smooth.
Combine dry ingredients. In a separate bowl, whisk the flour, baking soda, baking powder, salt, and cinnamon until evenly blended.
Bring the dough together. Add the dry ingredients to the butter mixture and mix on low just until combined.
Avoid overmixing. If the dough seems crumbly, add milk 1 tablespoon at a time until it holds together but isn’t sticky.
Fold in the oats and cranberries. Stir in the oats, dried cranberries, and nuts (if using). The dough will be thick—this is good.
Chill briefly. For the best texture, chill the dough for 20–30 minutes.
This helps prevent spreading and creates chewier centers.
Portion the cookies. Scoop tablespoon-size balls (about 1 1/2 tablespoons for standard cookies) onto the baking sheets, spacing them 2 inches apart. Press lightly to flatten the tops just a touch.
Bake. Bake for 10–12 minutes, or until the edges are set and lightly golden and the centers still look a bit soft. For larger cookies (2 tablespoons), bake 12–14 minutes.
Cool. Let cookies rest on the sheet for 5 minutes, then move to a rack to cool completely.
They will firm up as they cool.