The kid looks to be about 6 or 7. I see nothing wrong with how he’s dressed. I took my almost 3 yr old grandson to the store wearing shorts and cowboy boots. If he wanted to wear a cape, I’d let him. Kids grow up too fast as it is, let them wear what they want, so long as it’s age and weather appropriate.
One of my girls wore a Bob the Builder costume for weeks – had to wash it every night, the other wore Strawbery Shortcake a couple of times a week. Childhood is the only time you get away with fun stuff like that. Good for him.