Why do I keep breaking promises to myself?
Short answer: not because you lack willpower, but because the promise was built in a way that made it likely to break, before you ever broke it. Self-promises fail for a small number of specific, fixable reasons. None of them is evidence about your character, and all of them are visible if you look at the sentence you actually wrote rather than at yourself.
It was never a checkable event
"I'll be better about money" or "I'm going to be more present" cannot be kept or broken on any particular day, because there is no day on which a stranger watching you could say which one happened. A promise needs a moment where it either occurred or it did not. Without that moment, there is nothing to succeed at — only a vague sense, revisited every so often, that you are not quite living up to something you cannot fully name. That feeling gets misread as failure. It is really just the promise doing what an unfalsifiable sentence always does: generating guilt without ever generating information.
The fix is not more willpower aimed at the same sentence. It is a more specific sentence. "Be better about money" becomes "I check the account before I spend more than a set amount." Now there is a moment, and the moment either happened or it did not — which means you can actually notice a pattern instead of just a mood.
You made it under conditions you cannot reproduce
Most self-promises get written at a peak: New Year's Eve, the morning after a bad night, the last page of a book that moved you. In that moment you are unusually motivated, unusually clear, and unusually convinced that this time is different. The promise gets written as if that state will still be available on an ordinary Tuesday three weeks later. It will not be. Motivation is a mood, not a resource you can budget from, and a promise that depends on the mood that produced it is really a promise made to that mood, not to you.
This is not a discipline problem. It is a design problem: the promise was written by someone temporarily unlike your normal self, for a version of you that has to keep it on ordinary days. A promise worth keeping has to be written so a tired, distracted, unmotivated version of you can still follow it — which usually means it needs to ask less of you than the peak version of you assumed it would.
It had no plan for the day you did not feel like it
Almost every self-promise is silently all-or-nothing: it holds exactly until the first day you do not follow it, and then something in the framing suggests the whole thing is now void. One missed morning run becomes evidence the "get fit" promise failed, rather than one data point in a longer pattern. This collapse is not really about that single missed day. It is about a promise that was never given permission to survive an exception, so the first exception reads as proof it was fake all along.
A promise that can survive a bad day is doing more work than one that shatters on the first miss, precisely because bad days are guaranteed and good weeks are not. If the sentence you wrote has no room in it for "and if I don't, that is one instance, not a verdict," you did not write a promise you could keep for long — you wrote one that was waiting for its first exception to end it.
It was competing with something you value more, and nobody named the winner
"I will exercise every morning" quietly assumes mornings are otherwise free. If they are not — if mornings are also when a child needs you, or when the only quiet hour for a project you actually care about lives — the promise is not really competing with laziness. It is competing with another thing you value, and the promise never said which one wins when they land on the same day. In the moment, the collision gets resolved anyway, instantly, in favor of whichever thing is right in front of you, and you experience the result as having broken a promise rather than as having made a trade-off nobody had written down.
This is worth checking honestly before blaming yourself: has the thing that keeps beating this promise shown up more than once? If so, it is not an excuse. It is a second, real value that the promise never accounted for, and the promise needed a stated tiebreaker — not more resolve — to survive contact with it.
What to write instead of a promise
Trade the promise for two smaller, sturdier pieces. First, a principle — a plain sentence about how you decide, not what you perform, stated so it can genuinely be violated: not "be healthier" but "I don't skip the one meal a day I actually cook for myself." Second, one or two behavior standards under it — the specific, observable version of what living it looks like this month, written knowing it may need to change as your life does. The standard is allowed to be wrong and get rewritten. The principle underneath it is what you were actually trying to keep faith with, and rewriting the standard is not the same as breaking the promise — it is closer to admitting the first draft was written by the peak version of you and the second draft is written by the one who actually has to live it.
Then check it weekly instead of grading it daily. The question worth asking is not "did I keep the promise every single day," which turns one miss into a spiral, but "did I live this, and if not, what was actually going on that day." A miss becomes a fact about a Tuesday, not a fact about who you are.
This is close to what CreedOS is built to hold: a creed pairs a principle with the behavior standards that make it checkable, and a daily check-in that simply records what happened without grading you against a streak.