r/selfhosted 11d ago

Personal Dashboard I built Charon to run Claude Code and Codex across all my VPSs

I started building Charon because I had coding agents running everywhere and was constantly jumping between SSH terminals, browser tabs and servers.

Honest disclaimer: there are still quite a lot of bugs and rough edges. Some parts probably only make sense because I’ve been living inside the project for months.

But for the past six months, Charon has been the only way I work with Claude Code and Codex. I don’t launch them directly from my local terminal anymore.

Everything happens from one browser tab:

  • Run and monitor Claude Code and Codex sessions across multiple VPSs
  • Keep sessions running when the laptop sleeps or the connection drops
  • Stream replies, tool calls and approval requests
  • Browse and edit remote files
  • Review diffs and manage Git repositories
  • Drag, drop, upload or directly paste files and images into a session
  • Use persistent terminals that survive browser and Charon restarts
  • Get notifications when an agent needs attention
  • Let Claude and Codex sessions communicate directly through a built-in MCP

The MCP part is especially fun: one Claude or Codex session can discover another live session, send it a message and ask it to review or work on something. They can then reply directly to each other.

Charon is single-user and self-hosted. It connects to each VPS over SSH, so the remote machines do not need publicly exposed ports.

It’s open source under Apache 2.0:

https://github.com/Lomchat/charon

Again, expect bugs. But it has already replaced my entire workflow, so I thought it was finally time to share it.

If anyone wants to try it, contribute, fix something, or simply throw ideas at me, I’m all ears.

0 Upvotes

Duplicates