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.
-
Install WSL once. In PowerShell as administrator, run this, then restart:
powershellwsl --install -
In the Ubuntu terminal, install git,
wslu(which lets Duscode open your Windows browser) and Node 22:bashsudo 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
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 requestsLinux
Install git and Node 22 from your distribution or with nvm. On Debian or Ubuntu:
sudo apt install -y git
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc && nvm install 222. 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>.exeon Windows, the.debor the.AppImageon 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.shandduscode-<version>.tgzin one folder and runsh install.shthere. It installs into your user folder withoutsudo, checks the package against Duscode's signature first, and putsduscodein~/.local/bin.
Check the command line worked:
duscode --versionThe 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.
- Click Add key next to the provider.
- Paste the key. Get an API key from … links to the provider's page if you don't have one yet.
- 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 keysadds a key to~/.duscode/.envinstead. Seeduscode 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
duscode doctorDoctor 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
cd ~/code/my-app
duscodeDuscode 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:
duscode --no-open # on the server
ssh -L 4317:localhost:4317 you@server # on your computerThen 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.