When writing fantasy stories with a magic system and characters who can wield that magic, it’s important to put limitations on that magic system, or the access your characters have to it. This is important because it ensures that your characters are not overpowered.
This keeps the story more realistic – in as much as a fantasy story can be – as there is a limit to what can be done in the world, but also makes the story more interesting. Any story would be boring if your characters could do anything they wanted because they have magic. If we think about how science works in our world, science has rules. You cannot create or destroy energy – it can only be converted. This is a rule that limits what we can do, which makes things more interesting because we have to work harder to overcome those rules.

There are a couple of ways in which you can put limitations on your magic system and your characters. I’m going to be looking at Naruto by Masashi Kishimoto for examples, because I think he does a great job of limiting his character’s powers, and the magical system is very well built. I am going to go into spoilers for the series, so read ahead at your own peril!
Limitations on your character’s abilities

There are very few characters that start the story at the height of their magical abilities. As part of a character’s development, it’s always interesting to watch them develop their magical powers, because it resonates more strongly with your reader. How many times have you read a book and longed to live in that fantasy world? Having a character that starts off with very little magical powers means that they resonate more strongly with the reader, as the reader identifies with this character who is similar to them in their ability to wield the magics of that world, and can then grow alongside the character as they develop stronger powers (even if the reader is just reading about their experience!)
In Naruto, the main character Naruto starts off as a weak character. He’s looking like he’s going to fail his school’s graduation exam, which is to perform a simple ninjutsu (or spell). But throughout the series we get to see him become this super strong character, who basically takes down a god, and becomes known as one of the strongest ninja on his continent.
But Naruto’s rise to all powerful ninja does not come easily. In the middle of the series, he develops a new attack called rasenshuriken (a big wind style move in the shape of a shuriken) which he uses against an enemy part way through the series. The new attack works, but afterwards Naruto sustains damage to his arm, and is warned not to use the attack again as it could destroy all the chakra points in his arm, meaning he wouldn’t be able to use ninjutsu in that arm. It’s one of my favourite points in the series when we see Naruto at a point of weakness, as we have previously seen him go from strength to strength, and then he seems much more human being bought back down to a point of weakness. Later in the series, Naruto learns a new technique called Sage Mode, which allows him to use the rasenshuriken without causing damage to himself.
Also in Naruto, another character Sasuke is not able to perform certain types of ninjutsu until he has a certain type of sharigen. (Sasuke’s family are born with special types of eyes, called sharigen, which allow them to perform certain types of ninjutsu that other characters cannot). The sharigen undergoes a transformation when the character undergoes an emotion change. Only once Sasuke kills his brother and takes his eyes (yes, non-Naruto readers, you read that correctly) can Sasuke perform those other ninjutsu and level up his powers.
Having those limitations not only makes the story more interesting, but also allows for more plot points to be added in, allowing your character’s growth to become part of the story.
Limitations on your characters to use different types of magic

One thing I struggled with when writing Six Hands of Fate was knowing what spells each of my characters could perform, when there were no limitations on the magic system. When the chance to use a spell arose, I struggled to decide what spell to use, because all my characters had access to every spell imaginable. That made it stressful for me, but I think might have been puzzling for a reader who might have thought “Why did they use that spell when they could have used this one?”
One thing I liked about Naruto, was how Kishimoto gave each of the characters a speciality in a certain type of ninjutsu. He did this in three ways: 1) By having each character’s chakra be aligned with an element (Naruto has a wind-type chakra, which allows him to more easily perform wind style ninjutsu, like the rasengan); 2) By having certain ninjutsu kept secret within families, so only members of that family can learn that type of ninjutsu; and 3) By having hereditary powers (like the sharigen).
Characters in Naruto can learn ninjutsu that their chakras are not aligned to – Naruto could learn a fire ninjutsu, but it would be hard for him to do as it wouldn’t come naturally to him. Family ninjutsu can be learnt by those who are not from that family, but the techniques have to either be taught, or stolen and then learnt. Hereditary powers can only be learnt by someone outside of that family if they are stolen – there’s a character called Kakashi who is not from the Uchiha family, but has a sharigen, because he was given it by a dying Uchiha friend and transplanted his friend’s eye into his own empty eye socket. Yeah. If you don’t like any body horror, don’t read Naruto!
Limiting the sorts of powers that your characters can perform makes it easier for you as the writer to write the story, as you are limiting what you can make your characters do in a certain situation, but also I think it makes it easier for your reader to distinguish your characters from one another.
Limitation on how much magical power your characters can use

In Naruto, the character’s ninjutsu comes from chakra, which is sort of a magical energy (it’s also used in Avatar: The Last Airbender, and is also a concept for energy that has its roots in early Hinduism). Chakra is created in the body and is a finite resource. The characters can replenish their chakra, but they can run out of it if they use too much at once. If they do, then they either pass out or die.
Having limitations on how many attacks the characters in Naruto can perform makes the battles more exciting, because 1) There is tension between them and their opponent – who has the biggest chakra reserve? Who is going to run out first? If the character has just fought someone and then has to fight someone straight afterwards, it makes the second fight more exciting. 2) There is a ticking timebomb for how long the fights can go on for – will the character defeat their opponent, or pass out from lack of chakra first?
For some of the more powerful jutsu, like the sharigen, Kishimoto put limitations on those as to the toll they have on their user’s bodies. If a sharigen user uses their ocular powers too many times, then they can go blind. They can also evolve their powers into different types of ocular powers – Sasuke Uchiha’s eye sight starts to fail him, but after his fight with his brother, he takes his brother’s eyes to use as his own, which then evolves those powers into something stronger, due to the deep sibling bond that Uchiha have for one another that evolves their powers.
Putting limitations on your magic systems is I think super important for a story, as it adds tension, conflict, and can just make your story ten times more exciting!