Original Reddit post

After a year of using Claude, I realized the most valuable interactions I had with it were the proactive ones. Not the answers to my questions. The unsolicited observations: the “by the way, this function has a race condition” comments that surfaced something I had not asked about. Those moments were where Claude actually shifted my work. The reactive answers just did what I had already decided to ask. The problem is that Claude’s proactivity is an accident. It surfaces things when the context happens to make them visible. There is no system that makes Claude proactive on purpose, after every turn, across the whole session. Most of the time, the proactive layer is missing entirely. That asymmetry is what pushed me to build something. Every Claude session today is reactive by design: I ask, it answers, it waits. The proactive direction (it watches, it surfaces what matters) does not exist as a category. It exists only as a side effect. So I built it. It’s a Claude Code plugin called Bonsai: the proactive layer Claude doesn’t have. After every turn, a background subagent reads what just happened and writes a single observation if (and only if) one is worth your time. Proactive by design, not by accident. Most checks produce zero observations. Silence beats noise is the only hard rule. The first time I ran it on a real session, the proactive layer surfaced two real bugs in its own codebase that sixteen rounds of focused, reactive code review had missed: one was the only non-atomic file write in a codebase that used atomic patterns everywhere else, the other was a CI workflow that never ran on release tags (which is exactly why two earlier releases had shipped with a Linux regression I had to hotfix). Both fixed in few minutes. The proactive layer caught what sixteen rounds of intentional review had missed. That is the entire point. Here’s the repository: https://github.com/ferdinandobons/bonsai submitted by /u/Ambitious-Pie-7827

Originally posted by u/Ambitious-Pie-7827 on r/ClaudeCode