In a medium bowl, whisk together the flour, baking soda, and salt; set aside.
Beat the butter, peanut butter, and sugars with an electric mixer on medium-high speed until light and fluffy, 2 to 3 minutes. Add the egg and vanilla and beat to combine, scraping down the sides of the bowl as needed. Reduce the mixer speed to low and add the flour mixture, mixing until incorporated, about 1 minute.
Divide the dough in half, and shape into two rectangles. Wrap in plastic and refrigerate at least 30 minutes or up to 1 day.
When ready to bake the cookies, preheat the oven to 325 degrees F. Line two baking sheets with parchment paper. If you refrigerated the dough longer than 30 minutes let it stand at room temperature to soften a bit. On a lightly floured work surface, roll out the dough to a ¼-inch thickness. Using a sharp knife or pizza cutter (my favorite for cutting dough like this!), cut the dough into 2½-by-1-inch rectangles. Using the floured tines of a fork, score the top of each cookie. Transfer cookies to prepared baking sheets, placing 1½ inches apart, and refrigerate until firm, about 15 minutes.
Bake until lightly golden around the edges and firm int he center, 15 to 20 minutes. Transfer to a wire rack to cool completely.
Meanwhile, make the peanut butter filling. Combine the butter, powdered sugar, peanut butter, and heavy cream and beat with an electric mixer on medium-high speed until light and fluffy, about 5 minutes, scraping the sides of the bowl as needed. Use immediately, or transfer to an airtight container and refrigerate up to 3 days. If refrigerated, let filling stand at room temperature to soften before using.
Using an offset spatula, spread 1 tablespoon of filling onto the flat sides of half of the cookies. Sandwich with remaining cookies, keeping the flat sides down. Unfilled cookies can be kept in an airtight container at room temperature for up to 1 week. Once filled, cookies are best eaten the same day, but can be kept in the refrigerator for up to 3 days.