openditto
Free • Open source • MIT • macOS

Free. Open source. Runs on Claude subscription.

Give your
Claude Code
a phone number.

OpenDitto is a Telegram bridge for Claude Code. Text your terminal from anywhere — with persistent memory, your full MCP toolkit, and zero cloud. Runs on the Mac you already have.

One command. Fifteen minutes.

The installer handles dependencies, LaunchAgent setup, and the Telegram handshake. Uninstall is a single command too.

terminal
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/regreenjr/openditto/main/install.sh)"
MITmacOS Sonoma+Claude Pro / Max15–25 min setup

Why I built this.

I was running two AI assistants.

OpenClaw — so I could text from my phone. Great tool, but it ran its own model, so I was paying for it on top of my Claude subscription.

Claude Code — everything I love, but stuck at my desk.

No shared memory. Two bills. Constant switching.

So I built OpenDitto. One assistant, one subscription, memory that lasts.

Big credit to @steipete for OpenClaw — it's why this product category exists in my head at all. OpenDitto isn't trying to replace it. It just fits a setup where you already live inside Claude Code.

What you get.

A persistent second-self you can text. Not an abstraction — the full Claude Code runtime, reachable from your pocket.

No extra subscription

No separate model bill. OpenDitto runs on the Claude Code subscription you already pay for. If you have Claude Pro or Max, the marginal cost is $0.

Memory that survives restarts

Every fact the daemon learns is written to markdown files in your Obsidian vault. Browse, edit, or grep it like any other notes — never trapped in a dead session.

Every MCP, skill, subagent you've set up

Same Claude Code you use at your desk, reachable from your phone. Nothing to re-learn, nothing to re-configure.

The Mac already on your desk

No second machine. No cloud. No telemetry. OpenDitto runs as a LaunchAgent on the laptop you're already using for Claude Code.

Locked to your Telegram account only

A private bot pinned to your Telegram user ID. The sender allowlist is the single gate between the outside world and your Mac.

Auto-restart, auto-update

A supervisor wrapper relaunches on crash and pulls brew upgrades on every fresh session. You don't babysit it.

How it works.

No cloud hop. Your phone talks to Telegram, Telegram talks to your Mac, your Mac talks to Claude.

01

You text your bot.

Over Telegram, from your phone, laptop, or any device logged into your account. Nothing else needs to be installed.

02

Your Mac hears it.

A daemon running locally receives the message, wraps it with a <channel> tag, and routes it into a live Claude Code session.

03

Claude replies with its toolkit.

File edits, shell commands, MCP calls, GitHub, Supabase — the full Claude Code surface area, delivered back as a Telegram reply.

Meet your +1

A company of one, with a second self that never sleeps.

OpenDitto is the solopreneur multiplier. Text it a half-formed thought on a walk and come home to a repo committed, an email drafted, a spreadsheet filled. It's not a clone of you. It's the part of you that keeps working while you don't.

OpenDitto is not affiliated with, endorsed by, or connected to The Pokémon Company International, Inc. or Nintendo. “Ditto” is their trademark.

Questions.

The answers most people want before they paste a curl command into their terminal.