One of my favorite basic concepts from CFAR is the Bugs List. By writing down everything in your life that feels "off," things you'd change if you could, problems you've been meaning to solve, irritations you've learned to live with, you have a straightforward set of problems to try solving with new techniques and frameworks you learn, and can, little by little, actually improve your life in a material way.
Most people's lists include things like:
These are all real bugs. They're worth noticing and worth trying to fix. But after years of helping people work through their Bug Lists, in therapy or at rationality camps and workshops, something fairly obvious to most is worth highlighting: a lot of common bugs have a lot of root causes in common.
If you wanted a taxonomy for bugs, you'd quickly find yourself looking at what causes them, but it's not always the same between different people. Some struggle with sleep because they don't have good habits before bed, others struggle with sleep because of anxiety. What I started doing instead is categorizing the causes themselves, what I've been calling "bug generators."
If your house has a leaky roof, you normally wouldn't notice that by seeing the structural damage. Instead you might notice water stains appearing on your ceiling, or small puddles on your kitchen floor, or mold growing in your attic. You could address each one individually—patch the stains, mop the puddles, scrub the mold. But if you don't fix the roof, new problems will keep appearing. And if you do fix the roof, the existing issues become much easier to permanently solve. Some might just disappear on their own.
Bug Generators work the same way. Someone might list "I don't ask for raises," "I let people talk over me in meetings," and "I always apologize even when I didn't do anything wrong" as three separate bugs. But all three might stem from a single generator: a hangup around taking up space or asserting that their needs matter. Address that hangup, and suddenly all three bugs become tractable in a way they weren't before.
This doesn't mean you should always focus on generators. Not all bugs are emergent properties of deeper issues. You're not going to bed on time because your room doesn't have blackout curtains, you buy blackout curtains, problem solved..
But if you've tried the obvious fixes and they haven't stuck, or if you notice the same pattern showing up across multiple areas of your life, it's worth asking: is there a generator here? What is it, and how easy is it to solve compared to all the symptoms?
In my experience, bug generators tend to fall into five categories, roughly ordered from easiest to hardest to address:
Some of the solutions to them overlap, but each is worth exploring and better understanding individually first.
This sounds almost too obvious to mention, but a complete taxonomy must include the fact that many bugs are simply solved by lack of knowledge.
Some people struggle with sleep for years without knowing that blue light from screens suppresses melatonin, or that taking melatonin directly is an option, or that white noise can help them avoid waking from noises. Some people wish they could advocate for themselves at work, but never explicitly learned how to negotiate, or what the expected pay and benefits for their position in their industry is.
Imagine two people who want to get in better shape. Aron believes that the only way to get in shape is to run a lot, or go to the gym three times a week. Bob knows that almost any movement is better than none, that you can find easy forms of exercise in the house, and that there are fun and simple exercises that might get you half of the benefits of a dedicated gym routine for 1/10 the effort.
Aron and Bob might have identical willpower, identical schedules, identical gym access. But Bob is going to have a much easier time, because he's not fighting against a false belief about what exercise requires. More specifically, the thing Aron might be unaware of is something like a fun VR game that he'll be naturally motivated to play.
Knowledge-gap generators are the best ones to have, because they're often the easiest to fix. You just need the right information. The hard part is noticing that relevant knowledge would solve your problem, and then finding someone to ask, or a book to read that can help.
If you've been stuck on a bug for a while, it's worth explicitly checking: "What might people who don’t struggle with this know that I don’t? Who do I know who might have used to have this problem but doesn't anymore?"
You know what you “should” do. You even know how to do it. But somehow you keep doing something else instead, only realizing after, or an hour later, or that night before bed, that you once again autopiloted your way back into a failure mode.
Autopilot is not inherently a bad thing. It’s an energy-saving mode that, in the best cases, frees your thoughts to wander while your body takes care of routine chores.
But rational decision-making, particularly when facing difficult decisions, requires embodied presence and awareness of what you’re doing and why you’re doing it. Being in the right mental space to be aware of your options and actually make a conscious decision is what some call “sapience” and I’ve come to call “aliveness,” and is a skill that can be trained.
The person who doomscrolls for half an hour in bed before getting up in the morning is usually not confused about whether this is a good idea. But it’s also rarely a “decision.” Their hand reaches for the phone before their conscious mind has fully come online, and by the time they're aware of what's happening, they're already scrolling. Similar bugs include alt-tabbing to Reddit or Twitter within a few seconds of getting stuck while working, or reaching for some cookies because your eyes happen to fall on them when you go to the kitchen for water.
Unconscious habit generators can explain a lot of bugs at once. If your default response to any negative emotion is to seek distraction, that single habit might be generating bugs in your productivity, your relationships, your health, and your finances simultaneously.
The fix for habit-based generators is often some combination of TAPs and environmental design, like letting your phone charge out of reach at night or putting sticky notes around your house, or deliberate practice in mindfulness or expanded awareness. You can learn to notice the habitual mental or physical motions, interrupt them, and consciously choose differently enough times that the new behavior starts to become automatic instead.
This is often simple, but rarely easy. What you're learning to do is fight ingrained patterns that, by definition, run without conscious oversight.
Techniques that help:
Meditation or Alexander Technique. Things that can help improve your mindfulness or expand your awareness.
Environmental design. Make the old habit harder, the new habit easier.
Implementation intentions ("when X happens, I will do Y"), and treating setbacks as data rather than failures. But the core work is always the same: notice, interrupt, redirect, repeat.
When that proves particularly difficult, maybe even aversive, it's usually because there's some underlying unhealthy frame or emotional hangup worth exploring first.
A frame is the mental model you use to understand a situation. It determines what options feel available to you, which actions seem reasonable, and what the whole thing means to you on an emotional or predictive level.
Bad frames are sneaky because they don't feel like beliefs you hold—they feel like facts about reality. The frame is invisible; you just see the world through it.
Consider rest. Some people have a frame where rest is what you earn by being productive first. Under this frame, resting when you're tired but haven't "accomplished enough" feels wrong—lazy, indulgent, like you're cheating. So they push through, burn out, and end up less productive overall than if they'd just rested.
But rest isn't actually a reward for productivity. Sufficient rest is often how you maintain the capacity to be productive over long timespans. Most would recognize this as a bad frame for sleeping—you don't earn the right to sleep by accomplishing things first; you sleep so that you're capable of accomplishing things at all. But resting (or even sleeping) can feel indulgent to some because the actions they find restful feel good, or are too close to what they've already coded as “rewards” in their frame.
That reframe doesn't change any external facts. But it completely changes which actions feel available and reasonable. Under the old frame, playing an hour of video games in the afternoon is a failure. Under the new frame, it's self-care. If it feels risky because the gaming might be addictive or hard to stop, fair enough! But that's a separate problem than whether it's “deserved.”
Some common bad frames I've encountered:
Healthy reframes can feel almost magical when they land. A bug you've been struggling with for years suddenly becomes easy, not because anything external changed, but because you're now seeing it differently.
The best place to look for new frames, sometimes, are different cultures, so it's often worth checking how people from different countries or communities with lower frequency of a particular problem orient to it or the surrounding situations.
The catch is that you can't often just decide to adopt a new frame. They're often tied to your identity or to emotional experiences in your past. Sometimes hearing a reframe is enough, but other times genuinely internalizing it can require some emotional work. Which brings us to...
Hangups are emotional blocks that aren't quite trauma but still create friction. They're the places where you feel a flinch, an aversion, a reluctance that seems slightly out of proportion to the situation, but can still think and talk about the thing without feeling any outright suffering or extreme emotional reactions.
Maybe you have a hangup about being seen as a beginner at anything. So you avoid trying new things in contexts where others might observe your lack of skill. This could show up as bugs in multiple areas: you don't go to dance classes, you don't post your writing online, you don't ask questions in meetings.
Or maybe you have a hangup about "being a burden." So you don't ask for help even when you need it, don't tell people when you're struggling, don't request accommodations that would make your life easier. Multiple bugs, one generator.
Or maybe you have a hangup about spending money on “luxuries” for yourself, so you spend 2 hours getting from the airport to your home instead of taking a 30 minute uber that costs 30 minutes of your hourly wage. Or you save a dollar buying off-brand soda, but then don’t enjoy it. Maybe these decisions make sense given your other preferences or financial situation, but if you wouldn’t endorse it in retrospect, it’s worth exploring the underlying generator.
Hangups often formed for reasons that made sense at the time. The kid who got mocked for being bad at sports learned to avoid situations where their incompetence might be visible. The kid whose parents were constantly overwhelmed learned not to add to their burdens. These were adaptive responses to difficult environments.
But the environment has changed, and the hangup has stuck around, now generating bugs in contexts where the original threat or challenges no longer apply.
Hangups usually respond well to a combination of:
This is gentler work than addressing trauma, but it's real work nonetheless. You're trying to help a part of you that learned too general a lesson feel safe enough to try something else.
Traumas are the most gnarly and painful bug generators. They're often borne from experiences that overwhelmed your capacity to process or react naturally, leaving defensive reflexes of extreme fight, flight, freeze, or fawn that persist long after the original threats are gone.
A full discussion of trauma is beyond the scope of this post. For that, you might check out books like The Body Keeps the Score, or read about therapeutic modalities like Coherence Therapy.
But I want to note a few things about trauma as a bug generator:
First, the bugs that trauma generates can seem completely unrelated to the original wound. Someone with early experiences of dangerous unpredictability in their upbringing, or abandonment, or outright abuse, might generate bugs ranging from procrastination (avoiding commitment because commitment means vulnerability to disappointing others who then get upset with you) or perfectionism (if I'm perfect, I'll be safe) or workaholism (staying busy means not feeling, being productive means I won’t be yelled at) or relationship avoidance (getting close to people who might hurt or abandon you is dangerous). It’s highly unlikely you’ll be able to persistently solve these problems if you don't address the generator.
Second, trauma-based generators usually require more care and often professional support. The protective responses can be painful or even debilitating to try and solve, and trying to override them through willpower or incentives alone can backfire. The part of you that learned to respond this way needs to be approached with respect and patience, not bulldozed.
Third, you don't have to have experienced something dramatic for trauma to be operating. Complex PTSD can come from ongoing experiences of neglect, emotional abuse, or lack of safety in childhood, and can be just as impactful as single acute events, and often more invisible because there's no specific incident to point to.
If you notice a generator that feels like it might be in this category—if approaching it brings up intense emotion, or if you've tried to address it and it keeps coming back, or if it seems connected to your early life—consider books and therapists that specialize in helping people with trauma rather than just trying to treat the bugs alone.
So how do you actually use this?
When you look at your Bug List, start by noticing patterns. Are there bugs that seem related? Do any seem like they share a common thread?
If you find a candidate generator, try to categorize it:
Sometimes you'll work on a generator and find that the bugs it was creating just... dissolve. You don't have to do anything about them specifically; they stop being problems once the generator is addressed.
Other times, addressing the generator makes the individual bugs tractable in a way they weren't before. You still have to do the work, but now the work actually works. You're no longer patching ceiling stains while the roof is still leaking.
And sometimes, when you look closely, you'll realize that a bug really is just a bug. Nothing deep going on, just a simple problem that needs a simple solution. Many of our daily mistakes aren't psychologically profound—and some that seem profound are actually environmental or medical. "I'm always exhausted," "I'm irritable with my partner," and "I never have time for hobbies" aren't always three bugs with a psychological root—they could be symptoms of working 60 hours a week at a job you hate, or a living situation that makes everything harder, or a relationship that's draining you.
And of course, a physical problem could be a bug or it could be the generator of different bugs, whether undiagnosed ADHD, sleep apnea, chronic pain, or a dozen other things. So whether you've been banging your head against the same bugs for years or you're drawing up your first Bug List, it's worth asking: is this a bug, or a symptom? And if it's a symptom, what's generating it, and how deep does that go?
Some of the most stuck people I've worked with, whether in therapy or while teaching at rationality camps and workshops, weren't failing to try hard enough—they were solving symptoms about as fast as the generator could create them, and wondering why they never seemed to get ahead.
There may be other categorizations of bugs out there, like those caused by bad epistemology or unclear understanding of what you want. For a more comprehensive sense of how I think basically every bug can, eventually, be solved, check out my Principles and Generators of a Rationality Dojo.