A field guide to soft magic systems that don't cheat
Brandon Sanderson’s First Law of Magic states that an author’s ability to solve conflict with magic is proportional to how well the reader understands it. It’s a clean principle and it’s basically correct — but it was written by someone who loves hard magic, and it shows in how the edge cases are handled.
Soft magic gets a bad reputation for being a cheat code. If the rules are never stated, anything goes, and if anything goes, tension is impossible. But that framing confuses two different things: the reader’s understanding of what magic can do, and their understanding of what it costs. You can have almost unlimited mystery about the former while being very precise about the latter, and that precision is enough to preserve dramatic stakes.
Tolkien’s magic works this way. We never get a clear taxonomy of what Gandalf is capable of, but we feel sharply that using his full power carries enormous weight and draws attention he doesn’t want. The cost is legible even when the capability isn’t. The Battle of Helm’s Deep doesn’t feel like a cheat when he arrives at dawn because the story has established that Gandalf’s interventions are rare, consequential, and not to be called on lightly.
Where soft magic breaks down is when authors use it to bypass emotional preparation rather than just mechanical explanation. The issue isn’t that the audience didn’t know the hero could fly; it’s that the audience hadn’t been made to care about flying before it became the solution. That’s a failure of setup, not a failure of hard rules.
The middle ground that I find most interesting is what I’d call legible soft magic: systems where the categories are vague but the grammar is consistent. You don’t know the full dictionary, but you know how sentences are structured. Le Guin’s Earthsea operates in this register — the rules of the True Speech aren’t exhaustively catalogued, but the way magic works (costly, specific, requiring true names) is coherent enough that surprises feel earned rather than invented.
The test I apply when reading or designing a magic system isn’t “do I know all the spells” but “would I be surprised if a constraint turned out not to apply.” If the answer is no — if the system has established enough grammar that a loophole would feel like a violation — the magic is doing its job, soft or hard.