Native macOS app · Swift & SwiftUI

Git diffs from remote servers, beautifully.

View diffs over SSH with side-by-side comparison, syntax highlighting, live watching, and a CLI that feels like home.

Requires macOS 13 Ventura or later

RemoteDiff — mac-studio:~/Development/api
● watchingmain
HEAD (before)src/api/routes.ts
14 import { auth } from "../auth";
15 import { db } from "../db";
16
17- app.get("/users", async (req, res) => {
18- const users = await db.users.findAll();
19- res.json(users);
20 });
21
22 app.post("/login", async (req, res) => {
Working tree (after)modified
14 import { auth } from "../auth";
15 import { db } from "../db";
16
17+ app.get("/users", requireAuth, async (req, res) => {
18+ const users = await db.users.findAll({ active: true });
19+ res.json({ data: users, count: users.length });
20 });
21
22 app.post("/login", async (req, res) => {

Everything you need to review remote diffs.

Built with SwiftUI for macOS. Fast, native, and purposeful.

Three view modes

Side-by-side full file, diff hunks, or single-pane. Dual-pane modes scroll in sync for effortless comparison.

SSH git diff

Fetches diffs from remote hosts via native SSH. Works with bash, fish, zsh — completely shell-agnostic.

Live watching

ControlMaster-based persistent SSH connection with 2-second polling. See changes appear as you code.

Connection manager

Save SSH connections with multiple repositories. Auto-fetch on selection with diff result caching.

30+ languages

File-extension-based language detection for syntax-aware rendering. Beautiful, readable diffs.

Branch & staging

Shows current remote branch, includes untracked and staged files. Auto-refreshes on changes.

π
Pi coding agent
remote:~/api $ pi "add auth middleware to all routes"
⠋ Editing src/api/routes.ts...
⠋ Editing src/auth/session.ts...
✓ 3 files changed
SSH · live watching
RemoteDiff on your Mac
Side-by-side diff updates live
Full file context with syntax highlighting
Review every change as it happens
You're in control
remote:~/api $ pi "looks good, deploy"
⠋ Running deploy script...
✓ Deployed to production
Use case

Built for coding with AI agents on remote machines.

I use Pi coding agent to write code on a remote Mac Studio. Pi edits files, runs tests, and iterates — but I needed a way to actually see what changed across the whole project before committing.

That's why I built RemoteDiff. With live watching enabled, every change the agent makes shows up instantly in a side-by-side view on my local Mac — full file context, syntax highlighting, and all.

Agent edits files on the remote — diffs update automatically
Review full file context, not just raw terminal output
Catch issues before they're committed — works with any SSH-accessible machine

Why full context matters: AI agents show you the lines they changed, but not what's around them. A function rename looks fine in a diff — until you see the 12 call sites that weren't updated. RemoteDiff shows the full file so you catch what the agent missed.

Open repos from the terminal.

Like code for VS Code, but for remote diffs. One command opens the app, finds or creates the connection, and fetches the diff.

Auto-finds or creates matching connections and repos
Native macOS password dialog for SSH auth — no terminal interaction
Supports --ref, --staged, and --untracked flags
Terminal
# Install the CLI
remotediff --install
# Open a remote repo
remotediff mac-studio:Development/api
# With options
remotediff prod:apps/backend --ref main --staged
# With SSH user
remotediff ernesto@mac-studio:~/projects/api

Up and running in seconds.

No servers to deploy. No tokens to configure. Just SSH.

01

Add a connection

Enter an SSH host or pick one from your ~/.ssh/config. RemoteDiff auto-parses your config for easy setup.

02

Add repositories

Point to one or more git repos on the remote. Set a ref, toggle staged/untracked files.

03

Review diffs

Diffs are fetched instantly. Browse files, switch view modes, and navigate changes with keyboard shortcuts.

04

Watch for changes

Enable live watching. A persistent SSH connection polls for changes and auto-refreshes the diff view.

Keyboard-first

Navigate entirely from the keyboard.

Refresh diff
R
Previous file
[
Next file
]
Previous change
Next change

Try RemoteDiff now.

Free. Native. No account required.

Download for macOS
macOS 13+·Apple Silicon & Intel·~5 MB