Summary
Early in your adventure through Barovia, your Dungeon Master should perform a Tarokka Deck reading, which can inform many elements of yourDungeons & Dragonscampaign through the Curse of Strahd module. One of the elements this reading informs is which NPC companion your party will get to travel with.
But be warned, not all of these companions are as good as the others. Some have specific conditions that must be met in order for them to travel with you, while others are just downright evil. Here’s a complete list of every NPC companion you’re able to have in Curse of Strahd, ranked.

Conditions
None
Sir Klutz is, you guessed it, a clumsy knight who is buried inside Castle Ravenloft. He fell on his sword, meeting an untimely end. This character has the stats of a phantom warrior, making him decently strong, but there are a few downsides to having him as a companion.
First, he’s inside Castle Ravenloft. The Castle Ravenloft dungeon can prove dangerous for any level of character, but if the players want to have a companion early, they’ll need to go to the castle earlier than may be necessary. He’s also just a bit silly, which doesn’t always suit the tone of the adventure.

Must be resurrected
Nikolai Wachter not only has an incredibly weak stat block for an NPC companion, but he’s dead when the players first meet him. To win him to their side, players must cast a Raise Dead or Resurrection spell, which can prove tricky at lower levels.

Beyond that, Nikolai only has the stat block of a human noble, which isn’t going to prove much help in the long run against Strahd. Plus, his roleplay potential is relatively weak.
Must convince Bildrath
Parriwimple is a large human male with the stats of a gladiator. He is not very intelligent and works as a stock boy at Bildrath’s Mercantile. While he has great stats, his conditions for travelling with the party are a bit nebulous and hard to work out.
First, players must convince Parriwimple that someone needs rescuing in Castle Ravenloft for him to join them. Second, players must convince his employer, Bildrath, to let Parriwimple go, which is no easy task. And again, roleplaying Parriwimple isn’t all that enjoyable since he’s so low-intelligence.

Knows the layout of Castle Ravenloft
Must be kind to Pidlwick

Pidlwick II is a marionette puppet come to life. This marionette has a long, storied history with Castle Ravenloft and Strahd himself, and therefore knows his way around the castle, which can prove extremely helpful for thelate-game dungeon crawl that is Castle Ravenloft.
However, Pidlwick II’s stat block isn’t very good, and if the party is inadvertently or intentionally cruel to him, he will turn on the party and betray them while inside Castle Ravenloft. Plus, Pidlwick II cannot speak, limiting his roleplay potential.

Very powerful stat block
Players must mention Tarokka reading

Arrigal is a Vistani NPC that players may have first met if their Dungeon Master uses the ‘Plea for Help’ adventure hook from the beginning of the module. He has the stat block of an assassin, making him extremely powerful. If players explain the reading to Arrigal, he will accompany them on their quest to defeat Strahd.
However, if players defeat Strahd, even with Arrigal’s help, he will eventually betray them and fight them, believing that he is supposed to take Strahd’s place. Frankly, this can prove anticlimactic in the fight against Strahd, and oftentimes is frustrating to roleplay.

Good stat block, range of abilities
The Abbot must be dead

Clovin Belview is one of the mongrelfolk who live in the Abbey of St. Markovia. He has two heads and is often drunk on wine. While Clovin has a good stat block and some great abilities gifted to him, he can prove tricky to persuade.
This is because, unless the Abbot of the Abbey is dead, Clovin will not accompany the characters no matter what. Killing the Abbot doesn’t always make sense depending on the party’s adventure and their alignments, so this can prove tricky for good-aligned characters. Plus, the Abbot is a deva in disguise, which is a tough combat encounter.

Good condition immunities
Must persuade the Abbot
Vasilka is a flesh golem who is under the care of the Abbot of St. Markovia. Similarly to Clovin, it will prove difficult for players to take Vasilka with them on this journey unless they can properly persuade the Abbot. Otherwise, players must kill the Abbot, which, once again, can prove to be a difficult combat encounter.
However, if they do get Vasilka, she can prove helpful in the fight against Strahd thanks to her condition immunities, which are plentiful. Again, though, her roleplay potential is quite limited for Dungeon Masters.
Must not be returned to her father
If players travel to Lake Zarovich, they’ll find a young Vistani girl named Arabelle who has been kidnapped. If they rescue her, she’ll gladly join the party and travel with them to Castle Ravenloft in the fight against Strahd.
However, Arabelledoesn’t really have a stat block. For all intents and purposes, she is essentially a commoner with one HP. She can be trusted, but if the party brings her back to her father, Luvash, he will refuse to let her travel with the party, and they’ll wind up with no companion at all.
Doru must be dead and buried
Donavich is a priest with the stat block of an acolyte, who can be found in the village of Barovia. He has a son, Doru, who has become a vampire spawn and will attack players if pressed.
Though his stat block is relatively weak, Donavich will help the party willingly so long as Doru is dead and buried. He can also provide useful insight into Ireena, the nature of Strahd, and the lands of Barovia, meaning he can prove himself useful in many ways. Ultimately, though, because he’s so weak, he’s not all that helpful in the fight against Strahd.
Madness must be cured
Stella Wachter is the daughter of Lady Wachter and has been afflicted with madness. In order for her to travel with the party, the group must cure her of her madness, typically through the use of a Greater Restoration spell. However, this can prove difficult to do for lower-level parties.
Plus, Stella only has the stats of a commoner. She can be trusted, though, which is always helpful in a module like Curse of Strahd, in which many higher-level companions will attempt to betray the party, despite their stronger stat blocks.