· claude-code · pm-workflow

Two Sessions, One Inbox

I'm not an engineer, so I don't know what I don't know until I shoot myself with a footgun. Last week: two Claude sessions, one inbox, and a race I didn't see coming.

I’m not an engineer, so I don’t know what I don’t know until I shoot myself with a footgun. Here’s the one from last week.

I built a small dev tool that streams in-page comments from a browser back into my Claude Code session. Click an element, type a note, and the comment shows up in the terminal. One file watches the inbox. One session reads it. Tidy.

Then I opened a second Claude session in the same project. Both sessions attached watchers. Both tried to mark comments resolved at the same time and the file races chewed up clean rows. I didn’t notice for days because my comments were still landing somewhere. The duplicate was the part that was supposed to scream.

The fix is twelve lines. The tailer writes a .tail.lock file with its pid. A second tailer that tries to attach sees the lock, checks if the original pid is alive, and exits if it is.

Nothing about that pattern is new. File locks are decades old. An engineer would have spec’d one in five minutes. “What about a second session” wasn’t a question I knew to ask.

Which is the deal. I get to leverage all this new technical capability, but I have to learn a lot of things the hard way. I’m sure there are many more footguns in my future.