In the bowl of a stand mixer, cream together butter and sugars. Add eggs and beat until combined. Scrape down the sides of the bowl and add vanilla and peanut butter, beating again until combined.
Add flour, baking soda, baking powder and salt to the mixture. Mix on low until combined. Cover the bowl with plastic wrap and refrigerate for at least three hours.
When ready to bake, preheat oven to 350 degrees. Line 2 baking sheets with silicone mats or parchment paper.
Roll approximately 1 1/2 to 2 Tbsp of dough into a ball. Flatten the ball out and add a caramel to the center. Fold in the edges to form a ball of dough around the caramel, pinching the seam tightly. Place seam side down on the baking sheet and repeat with the rest of the dough.
Bakes 12 to 15 minutes. Cool for 10 minutes on the baking sheets, before removing to cooling racks to finish cooling. Finish with a drizzle of hot fudge or melted dark chocolate.