← Back to Too Good to Share
CCSwitchboard

Too Good to Share / Series

CCSwitchboard

Claude.ai in the browser fires off a job, a headless Claude Code run does it on the VM, and the answer lands back in the same conversation. I never carry it across by hand.

It is a personal tool, not a finished product, and this writeup will not pretend otherwise. I am documenting it and sharing the source because the shape of it might be useful to someone. It is a collection of parts held together with polling, and it mostly works.

This is a long one! Use the section nav to skip the parts you do not care about, or read it straight through from the start.

In this series

  1. What it is, and why I built it The copy-paste friction that started it, why none of the existing tools fixed it, and what the thing actually is.
  2. How it works A job from dispatch to result: the relay, the headless run, the streamed output, and the reply typed back into the thread.
  3. The components, part by part The relay, agent, browser extension, popup and feed - what each is responsible for and how it talks to the others.
  4. The context layer The durable notes and files a fresh thread reads so Claude.ai knows how to drive the system. Includes a starter kit you can lift.
  5. Driving it from Claude.ai The queue, the handful of prompts you actually type, and how a job leaves the queue.
  6. Setup, and dropping in at any point Running Claude Code headless without the safety prompts, why it lives in a VM, and where else you could host it.
  7. What to explore and swap The swap points: where the design is modular enough to fork, and where it is not there yet.
  8. Alternative approaches Subagents, orchestration frameworks, local orchestrators, hosted cloud agents and CI runners, weighed honestly.
  9. Why it suits some, and why it's best for me Who this narrow tool actually fits, and the honest reasons it fits me.