Skip to content
This repository was archived by the owner on Feb 26, 2026. It is now read-only.
/ mobilecode Public archive

Control Claude Code from your phone. A mobile companion we built — and then Anthropic shipped natively.

Notifications You must be signed in to change notification settings

skelpo/mobilecode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MobileCode

Control Claude Code from your phone. A mobile companion we built — and then Anthropic shipped natively.


What is this?

MobileCode was an ambitious attempt to solve a real developer pain point: you kick off a Claude Code session on your Mac, walk away, and your agent stalls because it needs input. We wanted to fix that — a mobile companion that let you monitor, respond to, and steer Claude Code sessions from your iPhone.

On February 25, 2026, Anthropic launched Remote Control — doing essentially exactly this, natively. We saw it coming, stopped active development weeks earlier, and are now open-sourcing everything we built.

This repo is archived. It's here as a reference, a case study, and in case any of the approaches are useful to someone building developer tools.

The Timeline

When What happened
Jan 2026 Identified the pain point. Registered mobilecode.org. Started building.
Jan 13 First working prototype of the macOS wrapper around Claude Code.
Jan 15 iOS app designs, landing page copy, App Store strategy mapped out.
Jan 21 Analyzed Claude Code Web launch — saw the writing on the wall. Bidirectional handoff was clearly on Anthropic's roadmap.
Early Feb Paused development. Felt Anthropic was moving faster than we could ship.
Feb 25 Anthropic ships Remote Control. Almost identical to what we were building.

What We Built

/macos-app — The Heart

A native macOS app that wraps around Claude Code to capture and relay session activity. This was the core technical challenge and where most of the interesting work happened.

Approaches we tried:

  • Terminal injection — Intercepting and injecting into the Claude Code terminal session to read agent output and send user responses remotely. Worked, but fragile and dependent on terminal emulator internals.
  • MCP server approach — Building a custom MCP server that Claude Code would connect to, giving us a structured communication channel. Cleaner architecture, but limited by what MCP exposed at the time.
  • Hybrid approach — Combining terminal observation with MCP for structured commands. This was where we landed before pausing.

/ios-app — Mobile Client (Swift)

Native iOS app for receiving push notifications when Claude Code needs input and responding inline. Focused on speed — the goal was to respond to your agent in under 10 seconds from notification to reply.

/server — Relay Server

API server bridging the macOS app and the iOS client. Handled session state, push notifications, and message relay. Designed for self-hosting so your code never touches third-party infrastructure.

MCodeCLI (inside /macos-app)

A lightweight CLI tool for starting MobileCode-enabled Claude Code sessions. Essentially mobilecode start instead of claude, which would bootstrap the monitoring and relay setup. Lives inside the macOS app project as a separate target.

What Anthropic Built (and how it compares)

Their Remote Control feature landed on almost exactly the same architecture:

Aspect MobileCode (ours) Remote Control (Anthropic)
Session stays local
Phone is just a window
QR code to connect ✓ (planned)
MCP servers accessible
Bidirectional sync
Auto-reconnect on sleep Partial
Push notifications Via Claude app
No cloud required ✓ (self-hosted relay) ✓ (Anthropic relay)

The main thing they have that we didn't: being the platform owner. No terminal injection hacks needed when you are the terminal.

What We Learned

  1. The product instinct was right. The pain point was real — Anthropic validated it by building the exact same thing. Our mobilecode.org domain was already ranking for "claude code mobile," "mobile claude code," and related queries before the feature even existed.

  2. Building in the blast radius of an AI company is risky. When your product is a companion to someone else's platform, you're one product update away from irrelevance. We felt this coming and made the call to stop early rather than ship and get steamrolled.

  3. Terminal injection is a dead end for production tools. It works for prototypes but is inherently fragile. The MCP approach was architecturally sound — and is essentially what Anthropic uses internally for Remote Control.

  4. Timing matters more than execution. We could have shipped a working v1 in February. It would have had maybe 2-3 weeks of relevance before Remote Control launched. Not worth it.

The Domain

mobilecode.org continues as an independent resource site for mobile AI coding — guides, tool comparisons, and updates on Remote Control and alternatives. It's not going away, it just evolved.

License

MIT — take whatever is useful.

Credits

Built by Skelpo GmbH. We build software for a living and occasionally for fun. This one was both.

About

Control Claude Code from your phone. A mobile companion we built — and then Anthropic shipped natively.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors