Run a second, independent copy of any Mac app — with its own name, icon, and data.
Work and personal Slack. Two WhatsApps. A throwaway Chrome profile that looks like its own app. Doppel makes a real, separate copy so each instance keeps its own identity and settings.
Doppel duplicates an installed macOS app into a standalone copy you can run at the same time as the original, each with separate data. It inspects the app first, tells you up front whether (and how) it can be duplicated, then lets you give the copy a custom name and icon.
Doppel reads the target bundle statically (no launching) and picks the right strategy:
| App family | Strategy | Result |
|---|---|---|
| Native (AppKit/Catalyst, unsandboxed) | Full copy + ad-hoc re-sign | A genuinely separate app with its own Dock identity and icon, optional $HOME-isolated data. |
| Electron / Chromium / Firefox | Lightweight launcher | A tiny bundle that opens the original with its own --user-data-dir/--profile. Survives updates; custom icon shows in Finder/Spotlight. |
| Sandboxed (App Store) | Full copy + re-sign into its own container | Duplicable with caveats — signature-tied features (iCloud, Keychain, push) stop working. Apps that validate their App Store receipt (e.g. WhatsApp) open then immediately quit; Doppel detects the receipt and warns up front. |
| iPhone/iPad app on Mac | ⛔ Blocked | macOS can't run a second instance of a wrapped iOS app — explained clearly instead of failing. |
Every duplication starts with a pre-flight verdict (green / amber / red) so nothing is touched before you know what will happen — and the original app is never modified.
- Pre-flight verdict — plain-English ok/warning/blocked with the reasoning, before any action.
- Two clone strategies, chosen automatically per app family (and overridable).
- Icon customization — color tint and a ribbon badge (e.g.
WORK), composited live. - Data isolation — give each copy its own data folder so accounts/settings stay separate.
- Unique identities — name-derived bundle ids, so two copies never collide or share data.
- Safe by design — refuses to clone an app onto itself; overwrites go to the Trash, not oblivion.
- Liquid Glass UI on macOS 26, with a clean material fallback on macOS 14–15.
doppelctlCLI — the same engine, scriptable and headless.
Grab the latest DMG from the Releases page, open it, and drag Doppel to Applications.
✅ Releases are signed with a Developer ID and notarized by Apple, so they open with no Gatekeeper warning — just drag to Applications and launch. Each release also ships a
.sha256so you can verify the download.
Requires macOS 14+ to run and Xcode 26 to build (the Liquid Glass code needs the macOS 26 SDK).
make run # run the app from source
make app # assemble + ad-hoc sign dist/Doppel.app
make dmg # build an ad-hoc-signed, drag-to-install DMG (no cert needed)
make release # Developer ID sign + notarize + DMG (needs a cert; see scripts/release.sh)
make test # run the unit testsOfficial releases are signed and notarized — locally via make release, or in CI via the
Release (notarized) workflow (.github/workflows/release-notarized.yml).
doppelctl inspect "/Applications/Slack.app"
doppelctl clone "/Applications/Slack.app" \
--name "Slack (Work)" \
--badge WORK --tint "#611f69" \
--data ~/Library/Application\ Support/Doppel/slack-workFlags: --name (required), --id, --dest, --data, --badge, --tint "#rrggbb",
--strategy auto|copy|lightweight, --force.
Sources/DoppelCore engine — inspection, verdicts, cloning, icon compositing
Sources/Doppel SwiftUI three-step wizard
Sources/doppelctl headless CLI over the same engine
Tests/DoppelCoreTests
scripts/ build, dmg, release, and icon generation
packaging/ Info.plist, entitlements, privacy manifest, app icon
| Direct (primary) | MAS-lite (App Store) | |
|---|---|---|
| Build | swift build |
swift build -Xswiftc -DMAS_LITE |
| Sandbox | No | Yes |
| Native apps | ✅ full independent copy | ⛔ blocked |
| Sandboxed (App Store) | ✅ full copy + re-sign (receipt apps flagged) | ⛔ blocked |
| Electron / Chromium / Firefox | ✅ lightweight launcher | ✅ lightweight launcher |
Duplicating third-party apps is your responsibility and subject to each app's own license and terms. Doppel never modifies the original app.
MIT © 2026 Malik AlZubaidi