What did you make?
QueueIt is a Chrome extension that adds a message queue to AI chat. Normally you send one message, then sit and wait while the model types out its answer before you can send the next. QueueIt lets you keep going: while Claude is replying, you hit Enter and your message lines up as a chip above the composer instead of getting sent. The moment Claude finishes, your next queued message sends on its own. You can line up several follow-ups, walk away, and come back to a full thread of answers. The queue is saved per site, so it survives a page refresh or a browser restart. It works on Claude today and is built model-agnostic, so other chat sites are each just a small adapter away.
What was challenging?
Three things main things. First, claude.ai has its own Enter-to-send handler, so to queue instead of send I had to listen on the document in the capture phase and stop the event before the page ever saw it. Second, knowing when the AI is actually "busy": instead of guessing at network state, I watch the DOM for Claude's Stop button, which is reliable and survives backend changes. Third, sending a queued message has to look like a real user action. Claude's composer is a ProseMirror editor, so I write text through the input events it expects and click the real send button rather than faking a submit. Testing was its own challenge, since the extension only runs on a logged-in site. I built mock chat pages and a Playwright test that loads the actual unpacked extension into a real Chromium and runs the whole flow.
What are you proud of?
The clean model-agnostic design: all the behavior is one engine, and a new site is a single adapter entry (composer, send, and stop selectors) plus a manifest match, not a rewrite. I am also proud that it is genuinely tested end to end in a real browser, not just unit-mocked, including the survives-a-refresh case, and that it has zero runtime dependencies.
What should people know so they can test it?
It loads as an unpacked extension, no build step:
1. Clone the repo, open chrome://extensions, turn on Developer mode, click Load unpacked, and pick the folder.
2. Open claude.ai. Send a message, and while Claude is replying, type another and press Enter. It queues above the box as a chip.
3. When Claude finishes, watch it auto-send. Refresh the page mid-queue to see the queue survive.
It is, however, easier to watch the demo video as it gives you a clear understanding of how QueueIt works.
- 1 devlog
- 3h