Preheat the oven to 350°F / 180°C / Gas Mark 4, no fan (if you have a convection/fan oven reduce the temperature by about 20° or follow the manufacturer's instructions).
Add both types of sugar and room temperature butter into a mixing bowl. Beat for about 1-2 minutes until well-combined. You can use a hand mixer or a stand mixer fitted with a paddle-shaped attachment.
Add the egg and vanilla extract. Beat for 1-2 minutes or until well-combined.
Stir flour with baking soda, cinnamon, and salt in a small bowl. Add the flour mixture to the mixing bowl. Mix over low speed until half-combined (the flour shouldn’t be fully incorporated at this point).
Roughly chop walnuts, peel the carrots and grate them on the small holes of a box grater.
Add oats, grated carrots, and chopped nuts to the cookie batter. Mix over low speed until evenly distributed. Don’t mix the cookie dough for too long.
Scoop the dough with a 2-tablespoon scoop (each cookie dough ball should weigh about 35g, they should be rather small!) and place about 2-inches (5 cm) apart on a baking sheet lined with parchment paper. Bake the cookies in batches for about 15 minutes or until the edges of the cookies are golden and the tops just very slightly golden (the cookies should be soft! - they will finish baking on the baking sheet). Leave the cookies for about 5 minutes on the baking sheet then transfer to a cooling rack using a spatula.
Make the cream cheese frosting: Beat the butter and powdered sugar (should be sifted!) with a mixer (fitted with a whisk attachment), for about 2-3 minutes, until fluffy (it will look crumbly at first, but just beat it until it's creamy). Add the cream cheese and mix until the frosting is smooth and fluffy. The order of adding ingredients is important!
When the cookies are completely cooled, spread the frosting over them.