Open source · runs on your machine · free

Text your codebase. It texts you back.

Issues land on your group chat. Agents solve them for you.

No Apple signing yet: on first launch, right-click → Open. If macOS calls the app “damaged”, run in Terminal: xattr -cr /Applications/CODM.app

Windows and Linux coming soon.

WhatsApp ✳
Claude Code ✳
Codex ✳
OpenCode ✳
YOUR PROJECTS, ON CALL

Run your projects from anywhere you can text

CODM turns any conversation into an operations desk for your projects — code, deploys, files, whatever your agents can do. Your client reports the bug at lunch; by coffee the fix is deployed and the reply is in their chat.

1 message classified → issue coupon-focus
2 terminal session spawned on the folder
3 fix pushed → reply sent with the label
RL
Rafa Lima
WhatsApp · ~/dev/acme-storefront
Running
the coupon field is broken on mobile, can you check?
classified → issue coupon-focus · terminal started
✳ coupon-focus · Claude Code
Found it — the input remounts on every keystroke. Fixing now.
Done. Pushed fix/coupon-focus — preview is live.
works!! thank you 🙌
THE ROUTER

One chat.
Many issues.

Ten requests in one thread don’t queue — they run. Each becomes an issue with its own terminal session, working in parallel on your machine. Replies carry the label back, so answering a quote hits the right session every time.

reply-quote routes to that exact issue, always
context matches against what’s already open
new work opens an issue and a fresh terminal
ambiguous asks — “the Pix one, or the nav bug?”
~/dev/acme-storefront · 3 sessions
coupon-focus pnpm test — 42 passed · pushed fix/coupon-focus
coupon-focus reply sent → WhatsApp · Rafa Lima
pix-payment scaffolding PixProvider.ts behind feature flag
pix-payment steer: keep the flag off until legal signs off
mobile-nav waiting: which iPhone / iOS version?
router clarify → “the Pix one, or the nav bug?”
invoice-500 stopped · 429 rate limit · waiting for operator
router watching 3 threads · buffer 100 msgs

Everything between the ping and the pull request

Not a chatbot. Your agents can run anything the workspace allows — builds, tests, deploys, scripts, skills — driven entirely from chat.

ISSUES
One chat, parallel work
Every request gets its own issue and terminal. Your backlog drains while you’re in a meeting — ten asks, ten sessions, zero collisions.
LABELS
Replies route themselves
Agent messages carry the issue key. Anyone in the chat can quote one to answer it — no syntax to learn, replies just land in the right session.
WHISPERS
A voice in the agent’s head
Whisper “keep it behind the flag” mid-task — the agent adjusts, the client never sees it. Pause the thread and the mic is yours.
STOPS
Knows when to wait
Rate limit, risky command, someone asked for a human — the agent stops, flags you, and holds the line until you approve, deny or take over.
ARTIFACTS
More than code
Preview links, screenshots, exports, reports — every deliverable an agent produces is cataloged per thread, ready to reshare.
LOCAL
Nothing leaves your machine
No relay servers in your data path: code, keys and chats stay on the machine you own. Your account only signs you in — none of your work leaves.
pause / resume
whisper steering
@mention gate
per-person permissions
approval on risky commands
context buffer 25–200
Community
Free

Everything the product does, free. Sign in with GitHub or Google and go.

  • Unlimited projects and threads
  • WhatsApp as your operations channel
  • Any terminal agent — Claude Code, Codex, OpenCode
  • Steers, stops and whispers mid-run
  • Auto-updates, always on the latest
Download

Ship from anywhere you can text

MIT license · macOS (Apple Silicon) · Windows and Linux coming soon