Skip to content
Back to blog
cascadeaiclaude-codeopen-source

Starting Cascade: Early Lessons Extending Claude Code

2 min read

Why I started building Cascade, and the first hard problems that showed up when you try to wrap a coding agent with your own tooling.

I use Claude Code every day. It is genuinely good, but I kept running into the same walls. One account hits its limit in the middle of a long task. Token spend on routine operations adds up faster than you notice. Context resets between sessions, so work that should carry over starts from zero. Cascade began as a handful of scripts to paper over those gaps for myself.

The first lesson came fast: multi-account routing is mostly a bookkeeping problem, not a model problem. Knowing which account has quota left, at what cost, for which kind of task, matters more than any clever prompt. Once I had a small table tracking that state, the day-to-day friction dropped a lot. The hard part was keeping the table honest while several sessions ran at once.

The second lesson was that a persistent daemon changes everything. A chat window forgets. A background process that owns session state does not. Once a daemon held the state, I could survive restarts, resume interrupted work, and coordinate things a single window could never track. That one decision reshaped the whole project.

The third lesson was about waste. A lot of token spend hides in routine operations you never think about. A transparent proxy that trims the obvious overhead saved more than I expected, and it did so without changing how I work. Cheap wins like that are worth more than they look, because they compound across every session.

The fourth lesson was where to cut the seam. Pre and post hooks on each event turned out to be the right place to add quota checks, logging, and small automations. Hooks let me extend the tool without forking it, which kept Cascade small and kept upgrades painless.

I will be honest about where this started. Early Cascade was duct tape. It worked for me and broke for everyone else. The month that followed was about turning private scripts into something other people could install and trust. That is a different kind of engineering, and it is the part that actually makes a tool real.