I Stopped Babysitting Claude Code
The problem: watching a console do my work
I had handed Claude Code the instructions. I had approved the permissions. The code was being written. And I was still sitting there, staring at the terminal.
Not reviewing. Not thinking. Just watching, so I would know the moment it finished or stopped to ask me something. If I walked away, I risked coming back to find it had been waiting on me for twenty minutes. If I stayed, I lost the time I was supposed to be saving.
That is a strange kind of busy. The work was delegated, but my attention was not. So I took a short break from building GraceSoft products and built something for myself: a way for Claude Code to tell me when it is done.
Step one: a bot that already knew my business
The notification idea was in the plan from the start. But the commit history shows the bot grew up doing something else first.
On 22 September I went from an initial commit to a deployed Telegram bot in one afternoon. I wrote the spec docs first, locked the decisions, then worked through milestones:
- Scaffold the Telegram bot.
- Add a small read-only API to Desk, my accounting and project tool.
- Do the same for Skylight, my Kanban tool.
- Wire up commands, plus a classifier so I can ask questions in plain English.
- Harden it for production, add a health check, and deploy it on Railway.
By that evening I could type /overdue to see due Skylight cards, /hours for billable versus non-billable time, and /finance for income, expenses and cash position. Only my Telegram account is allowed to use it, and only summarised numbers ever go to the language model. Over the next day I added month ranges and a few production fixes.
It was useful. But it was a bot I talked to. It never talked to me first.
Step two: letting Claude Code speak up
This is where the frustration turned into a fix. I already had a bot running in production with my Telegram chat on the other end. What it lacked was a way in.
So on 25 September, at 3:22 in the morning, I committed two things:
- An authenticated POST /notify endpoint on the bot. Anything holding the right token can send me a message.
- A Claude Code hook script. When Claude Code finishes a task, the hook calls the endpoint.
Eighteen minutes later I cleared the TODO list. On 27 September I made the hook read its URL and token from each repo’s own .env file, so it works across every project without extra setup.
The first messages were bare: “Claude Code has finished its task.” A few had the word “test” under them. It worked, and that alone changed my day. I could leave the desk.
Step three: telling me which task, not just that one finished
A bare ping solved one problem and created another. I often run several Claude Code sessions at once, across different repos. “Finished its task” did not tell me which one.
On 30 September I added context to every notification. Each message now carries:
- the project folder it ran in,
- the session title,
- the task I gave it, trimmed to a line,
- and Claude’s own summary of what it did and what it left for me.
A real one from this week reads, roughly: finished in gracesoft-astro, task “LinkedIn posts to blog content”, committed new posts to three repos, nothing pushed yet, one note still a draft. I can read that on my phone and know exactly which window to open and what to check first.
What I chose not to build
I also wanted the same notifications from Claude chat. But claude.ai has no hooks. Getting there would have meant building and maintaining an MCP connector for a smaller payoff. I wrote the decision down in the TODO file and dropped it.
That is a GraceSoft habit I try to keep: build what removes real friction, and say no to the rest out loud.
What changed
I no longer babysit a terminal. I give Claude Code its instructions, then go and do something else: other work on the same machine, errands, sometimes a nap. When Telegram buzzes, I know which session to open and what is waiting for me.
The whole thing took a few days of evenings, most of them late. It is not a product. It is a small tool that gave me back my attention, and that is often the best kind of software to build.