Saturday, April 25, 2026

Claude Code Leaves Much To Be Desired

Been using Claude Code recently here are a couple of thoughts:

  • It's a TUI app that uses Node JS. It takes 5-10 seconds to start (I timed it) on a good day (when Anthropic's servers aren't lagging, which they often are). I seriously thought about just having a pool of Claude Code processes running in the background so I can avoid the ridiculous startup cost, but this is infeasible because
  • for some reason, Claude Code insists on reading the Claude.md in the directory where it's started, and for some reason there's no way to change the Claude.md once it's started except for /compact? Not really an ideal solution. Oh and also
  • when started, without the user entering any input, it uses 350MB-750MB of RAM just sitting there doing nothing. And the RAM usage just goes up over time.
  • Did you know that Claude subagents will simply die instead of asking for permission to do something? That's right, subagents are incapable of asking for permission. They inherit a subset of permissions from their parent, and if they want to do something but they don't have the permission to do it, instead of asking you, they will just die.
  • Also, the parent has no way of killing a non-responsive subagent because they're part of the same process.
  • Also the hooks are useless - permissions_request is empty when the TUI shows 3 options. You see, in Claude Code, sometimes you get 2 options and sometimes you get 3 options. Option 1 is usually Allow, while sometimes Option 2 is Deny and other times it's Always Allow. So you can't just assume that 2 means No. Oh and sometimes you can use numbers to choose and other times you can't (no numbered selector) and you have to use arrow key. This means that when you're writing an app to interact with Claude Code, it can't rely on hooks and instead has to parse the PTY.