Skip to main content

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.

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 (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:
PlatformBuild scriptOutput format
macOS (arm64 + x64)dist:desktop:dmgUniversal DMG
Linux (x64)dist:desktop:linuxAppImage
Windows (x64)dist:desktop:winNSIS 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.
BehaviorDesktop modeWeb mode
Network binding127.0.0.1 (loopback only)Any interface (configurable with --host)
Launched byElectron shellNode.js server (bun run start)
Browser auto-openDisabled — Electron opens a native windowEnabled by default
Auth tokenGenerated internally and passed via IPCSet with --auth-token or T3CODE_AUTH_TOKEN
Because the desktop server binds to loopback, it is not reachable from other devices on your network. If you need remote access, use the web mode instead.

Startup sequence

When you launch the desktop app, the following steps happen in order:
1

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.
2

Port reservation

The Electron main process reserves a random loopback port on 127.0.0.1 for the embedded Node.js server.
3

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.
4

Readiness check

The Electron main process polls the backend’s /health endpoint until startupReady is true, or a 60-second timeout is reached.
5

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.
6

Update check scheduled

After a 15-second startup delay, the updater performs an initial check for new releases. Periodic checks run every 4 hours thereafter.

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.
PathContents
~/.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
Log files rotate at 10 MB and the last 10 files are kept. If you’re reporting a bug, the logs at ~/.dpcode/userdata/logs/desktop-main.log and ~/.dpcode/userdata/logs/server-child.log are the most useful.

Electron profile directory

Electron stores renderer-process data (local storage, IndexedDB, preferences) in a platform-specific directory separate from ~/.dpcode/:
~/Library/Application Support/dpcode/
If you previously used T3 Code or an early DP Code build, the app migrates your Electron profile from the legacy directory on first launch. The migration copies Local Storage, IndexedDB, Session Storage, and Preferences, and leaves the original directory untouched.

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.

Build docs developers (and LLMs) love