CodeConnect Support

CodeConnect lets you monitor and control the coding agents running on your own computer — approve permission prompts, watch live sessions, review diffs, and take over in a full terminal, from your iPhone. Your sessions travel directly between the app and the daemon on your computer — no server in between — and never leave your own devices; the one CodeConnect-operated service is a content-free push relay, described in the privacy policy.

Requirements

Installing

curl -fsSL https://codeconnect.sh | sh

The installer downloads the latest release, verifies its signature before installing anything — the Developer ID signature on a Mac, CodeConnect's release key on Linux — and installs to ~/.codeconnect/bin. It installs CodeConnect's own tmux with it, so tmux needs no separate install. It asks once before adding ~/.codeconnect/bin to your PATH, as a marked block in your shell's startup file (two files for bash), which you can delete to undo. Then it asks “Set up CodeConnect now?” — Return means yes — and does, in order, whatever is still missing:

  1. Connecting Tailscale. If Tailscale is not installed, it says how to install it and waits. On a Mac you then log in from Tailscale's icon in the menu bar; on Linux it runs sudo tailscale up --qr, whose QR code you scan with your phone, signed in to Tailscale. It waits until Tailscale is connected.
  2. Starting the daemon now and at login (at boot on Linux), restarting it on crash (codeconnect daemon install).
  3. Pairing your iPhone: it shows a QR code to scan with the CodeConnect Remote app, then waits for Return (codeconnect pair makes a new one).
  4. Signing in Claude Code and Codex: each one that is installed but signed out runs its own sign-in. Ctrl-C skips one.

On a Mac it never uses sudo; on Linux it uses sudo only for tailscale up --qr and, where systemd refuses it to you, loginctl enable-linger. Tailscale is the default, not a requirement: to use your local network instead, answer n to that question and see “Is Tailscale required?” below. Stopped partway, the same command picks up where it left off. Then, in a new terminal in your project's folder, codeconnect claude starts Claude Code there through CodeConnect. For Codex: codeconnect codex.

Your phone now shows every session started this way. When an agent asks for permission, the prompt appears on your phone; answering it there has the same effect as answering at the computer.

On Linux

Run the same command as your own user, not as root. On a machine where you have only root, as many cloud machines start you, first install and connect Tailscale as root (curl -fsSL https://tailscale.com/install.sh | sh, then tailscale up --qr; in a container, start tailscaled first, as “Tailscale in userspace mode” below shows), then create a user and run it as that user: useradd -m -s /bin/bash dev && su - dev. A shell reached with su has no systemd user manager, so there the daemon is started by hand, as under “Without systemd”.

Updating

codeconnect update downloads the latest release, verifies its signature the same way the installer does, and replaces all three binaries and CodeConnect's tmux in one step — a machine that loses power mid-update comes back with the complete old set or the complete new one, never a mixture. A running daemon is restarted automatically, and sessions survive the restart. codeconnect claude mentions at launch when a newer release exists, and codeconnect --version always tells you exactly what is installed, down to the commit it was built from.

The iPhone app updates from the App Store. When the app and a computer cannot understand each other, the app says which one to update: “Update CodeConnect on the computer” (run codeconnect update there) or “Update CodeConnect on this iPhone”. This page describes CodeConnect 0.15.0, installer 1.7.0 and the iPhone app 1.1.11.

Uninstalling

  1. End your sessions: quit each agent as you normally would, until codeconnect ls lists none. To end them all at once: ~/.codeconnect/bin/cc-tmux -L codeconnect kill-server (it says “no server running” when none are left).
  2. codeconnect daemon uninstall — stops the daemon and removes its LaunchAgent.
  3. Delete ~/.codeconnect — it holds the binaries, CodeConnect's tmux, your session history, pairing tokens, and TLS material.
  4. If you let the installer add CodeConnect to your PATH, delete each block between # >>> codeconnect >>> and # <<< codeconnect <<< in your shell's startup files (~/.zshrc for zsh; ~/.bashrc and your login file, such as ~/.profile, for bash). If nothing else is left in a file, you can delete it.
  5. Delete the app from your iPhone.

Troubleshooting

Frequently asked

Does my code ever leave my devices?
No. Sessions travel directly from your Mac to your phone and never touch a CodeConnect server. The one exception is the push notification: it passes through Apple, and — unless your daemon holds its own Apple push key — through CodeConnect's push relay first, which receives only a fixed handful of content-free fields. Both shapes are described exactly in the privacy policy.

Is Tailscale required?
No, but it is the default: out of the box the daemon listens on your Mac's Tailscale address, so with both devices on the same tailnet there is nothing to configure. On your local network:

  1. Find the computer's address on that network — on a Mac, for Wi-Fi, ipconfig getifaddr en0 (en1 on a Mac with an Ethernet port); on Linux, ip -4 addr.
  2. Put it in ~/.codeconnect/config.json as ws_bind, with ws_allow_plaintext: CodeConnect then encrypts nothing on that connection, and the live terminal stays off.
    { "ws_bind": "192.168.1.20", "ws_allow_plaintext": true }
  3. Run codeconnect daemon restart — or codeconnect daemon install if the daemon is not running yet; on Linux without systemd, start or restart it as “On Linux” says — then codeconnect pair.

For encryption and the live terminal, use Tailscale.

Every key is described in the configuration reference.

Which coding agents are supported?
Claude Code and Codex. For Claude Code: the fleet, approvals, questions, diffs and the live terminal. For Codex: the fleet, approvals, stopping a turn and saying something.

What exactly is installed on my Mac?
Three binaries in ~/.codeconnect/bin — codeconnect, ccd, cc-hook — and CodeConnect's own tmux (cc-tmux) beside them, with their licence notices, plus state under ~/.codeconnect. Every binary is Developer ID–signed, and codeconnect --version reports its exact version and build commit.

Contact

Questions, bugs, feature requests: open an issue at github.com/faisalmumtaz89/CodeConnect/issues.

Please include the app's version (in the iPhone's Settings app: General → iPhone Storage → CodeConnect), the output of codeconnect --version and, for connection issues, the output of codeconnect daemon status.

For security problems, please don't open a public issue — use GitHub's private vulnerability reporting on the repository instead.