Get started

Install Duscode

Install Duscode on Windows (WSL 2), macOS or Linux from your early-access invite, add an AI provider key and check your setup with duscode doctor.

Duscode runs on your machine as a small local server. It listens on 127.0.0.1 only, edits your files, runs commands and serves the workspace to your browser. You bring your own AI provider key.

Requirements

You need Why Check
Node.js 22 or newer Duscode runs on Node node -v
git Sessions, worktrees and commits git --version
An AI provider API key The models Dus uses Anthropic, OpenAI, Gemini, …
GitHub CLI gh (optional) Opening pull requests and creating repositories on GitHub gh --version
Chromium headless shell (optional) Lets Dus check web pages it builds in a headless browser See Web and browser checks

Duscode supports macOS, Linux and Windows through WSL 2. It doesn't run in native Windows shells.

1. Prepare your system

Windows (WSL 2)

Duscode runs inside WSL 2, not in native Windows. Dus runs shell commands, uses git worktrees and expects Linux paths. Your Windows browser still works: WSL forwards localhost.

  1. Install WSL once. In PowerShell as administrator, run this, then restart:

    powershell
    wsl --install
  2. In the Ubuntu terminal, install git, wslu (which lets Duscode open your Windows browser) and Node 22:

    bash
    sudo apt update && sudo apt install -y git wslu
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
    source ~/.bashrc && nvm install 22

Tip

Keep your projects in the Linux file system, for example ~/code/my-app, not under /mnt/c/.... Installs, builds and git run many times faster there, and live previews reload reliably. Duscode warns you when a project sits on a Windows drive. Windows apps can still open these folders at \\wsl.localhost\Ubuntu\home\<you>\code.

macOS

bash
xcode-select --install   # git
brew install nvm         # or use the nodejs.org installer for Node 22
nvm install 22
brew install gh          # optional, for pull requests

Linux

Install git and Node 22 from your distribution or with nvm. On Debian or Ubuntu:

bash
sudo apt install -y git
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc && nvm install 22

2. Install Duscode

Duscode is in early access. Your invite email includes the installers:

  • The Duscode app (its own window, nothing else to install): Duscode-Setup-<version>.exe on Windows, the .deb or the .AppImage on Linux. Windows may say "Windows protected your PC" while the app is new: choose More info → Run anyway.
  • The command line (macOS, Linux, inside WSL): put install.sh and duscode-<version>.tgz in one folder and run sh install.sh there. It installs into your user folder without sudo, checks the package against Duscode's signature first, and puts duscode in ~/.local/bin.

Check the command line worked:

bash
duscode --version

The app updates itself when you close it, after checking each update's signature. To uninstall: Windows Settings → Apps, sudo apt remove duscode, delete the AppImage, or sh install.sh --uninstall (add --purge to remove your data too). Uninstalling stops everything Duscode started and anything that would start it at login.

No invite yet? Email support@duscode.com to ask for one.

3. Add a provider key

Start Duscode (step 5), then open Settings → Models & keys: click your profile at the bottom of the sidebar and choose Settings, or press Ctrl/⌘+,. Every supported provider is listed, with the rarer ones under More providers.

  1. Click Add key next to the provider.
  2. Paste the key. Get an API key from … links to the provider's page if you don't have one yet.
  3. Save. Duscode checks the key with the provider before saving it, and tells you why if it's refused.

The key works at once, in every session. There's nothing to restart.

  • Keys are sealed in Duscode's encrypted vault, with its key in your OS keychain. They never go into a project or a repository, and the browser only ever sees a key's last four characters.
  • Replace and Remove are next to each saved key.
  • A key already in your environment, such as OPENAI_API_KEY, also works. Settings shows it as From your environment. A key saved in Settings wins over one from the environment.
  • In a terminal, duscode keys adds a key to ~/.duscode/.env instead. See duscode keys.

Which provider should you start with? Anthropic or OpenAI give you all three routing tiers without further setup. Other providers need a few lines of configuration. See Providers and models.

4. Check your setup

bash
duscode doctor

Doctor checks Node, git, the GitHub CLI, your keys, port 4317, and whether Duscode can write to its home folder and to the current folder. For anything that's missing, it prints a fix: line telling you what to do. It ends with All set. when Duscode is ready.

5. Open a project

bash
cd ~/code/my-app
duscode

Duscode starts and opens the workspace in your browser at http://localhost:4317/code/. Stop it with Ctrl+C in that terminal.

Next: give Dus its first task.

Remote machines without a desktop

On a server you reach over SSH, start Duscode without opening a browser. Then forward the port from your own computer:

bash
duscode --no-open                          # on the server
ssh -L 4317:localhost:4317 you@server      # on your computer

Then browse to http://localhost:4317/code/ on your computer. Duscode listens on 127.0.0.1 only, so the port is never exposed to the network.

Something missing or wrong? Email support@duscode.com.