The DP Code desktop app bundles the web UI and the Node.js server into a single installable application using Electron. You get the full DP Code experience — sessions, threads, terminal, and Git tools — without running a server manually or keeping a browser tab open. The embedded server listens only on the loopback interface (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Emanuele-web04/dpcode/llms.txt
Use this file to discover all available pages before exploring further.
127.0.0.1), so no network exposure is needed.
Platform support
macOS
Universal DMG for Apple Silicon (
arm64) and Intel (x64). The installer places DP Code (Alpha) in your Applications folder.Linux
AppImage for
x64. No system installation is required — make the file executable and run it directly. Automatic updates require the AppImage build.Windows
NSIS installer for
x64. Installs and registers DP Code (Alpha) as a standard Windows application with Start Menu integration.Download
Download the latest release from the GitHub Releases page. Each release publishes platform-specific artifacts built with the following scripts:| Platform | Build script | Output format |
|---|---|---|
| macOS (arm64 + x64) | dist:desktop:dmg | Universal DMG |
| Linux (x64) | dist:desktop:linux | AppImage |
| Windows (x64) | dist:desktop:win | NSIS installer |
macOS arm64 and x64 builds are published separately. Download the build that matches your CPU. If you run the Intel build on Apple Silicon, the app detects the mismatch and the updater will switch you to the arm64 package on the next update.
Desktop mode vs. web mode
DP Code runs in two modes. The desktop app always uses desktop mode.| Behavior | Desktop mode | Web mode |
|---|---|---|
| Network binding | 127.0.0.1 (loopback only) | Any interface (configurable with --host) |
| Launched by | Electron shell | Node.js server (bun run start) |
| Browser auto-open | Disabled — Electron opens a native window | Enabled by default |
| Auth token | Generated internally and passed via IPC | Set with --auth-token or T3CODE_AUTH_TOKEN |
Startup sequence
When you launch the desktop app, the following steps happen in order:Shell environment sync
The main process reads your login shell environment (via
syncShellEnvironment) so tools like codex, claude, and gemini are on PATH even when launched from the GUI rather than a terminal.Port reservation
The Electron main process reserves a random loopback port on
127.0.0.1 for the embedded Node.js server.Backend process start
The Node.js server (
apps/server/dist/index.mjs) is spawned as a child process with DPCODE_MODE=desktop and the reserved port. The Electron main process monitors it and restarts it automatically if it exits unexpectedly.Readiness check
The Electron main process polls the backend’s
/health endpoint until startupReady is true, or a 60-second timeout is reached.Browser window opens
Once the backend is ready, the Electron browser window loads the web UI. The UI connects to the embedded server over a local WebSocket, authenticated by an internally generated token.
Data directory
The desktop app stores all application data under~/.dpcode/ by default. You can override this path with the DPCODE_HOME environment variable before launching the app.
| Path | Contents |
|---|---|
~/.dpcode/ | Application base directory |
~/.dpcode/userdata/ | Server state (SQLite database, settings) |
~/.dpcode/userdata/logs/ | Rotating log files for the desktop main process and embedded server |
Electron profile directory
Electron stores renderer-process data (local storage, IndexedDB, preferences) in a platform-specific directory separate from~/.dpcode/:
- macOS
- Linux
- Windows
Desktop-only features
The following features are only available when running the desktop app:- Voice transcription — microphone access is granted through Electron’s media permissions system.
- In-app browser — an embedded browser panel rendered using Electron
WebContentsView, used by browser-use automation tools. - Native file dialogs — folder pickers and save dialogs use the operating system’s native UI.
- System notifications — desktop notifications with badge counts when the window is in the background.
- Native application menu — includes Check for Updates, Settings, zoom controls, and keyboard shortcut entries.
Next steps
Automatic updates
Learn how the desktop app checks for and installs updates from GitHub Releases.
Running the web server
Use DP Code without the desktop app by running the Node.js server directly.