---
description: Print instructions for starting rdbgd64 / rdbgd32 manually, with flag tips for input injection and spy recording.
---

Print the following to the user (don't try to run anything; the
plugin auto-spawn covers that path when enabled). Adjust paths if
the user has rdbg installed somewhere other than `C:\rdbg\`.

---

**Pick the daemon that matches your target's bitness:**

| Daemon         | Targets       | Conv. port |
|----------------|---------------|------------|
| `rdbgd64.exe`  | Win64 (PE32+) | 5902       |
| `rdbgd32.exe`  | Win32 (PE32)  | 5903       |

The wire protocol is identical; the bridge auto-switches per
`launch` based on the target's PE machine type, so when
`auto_start_daemon=true` you don't have to start either daemon
manually. These instructions are for users who turned auto-start
off or who want non-default flags.

**Start the daemon from inside your interactive RDP desktop**
(Session 2+ — not from a service, not via wmic, not over
non-interactive SSH). The daemon needs DirectDraw / GDI to be in
the same desktop as the target it's debugging.

```
:: Win64 targets
C:\rdbg\bin\rdbgd64.exe --listen 127.0.0.1:5902 --tray

:: Win32 targets
C:\rdbg\bin\rdbgd32.exe --listen 127.0.0.1:5903 --tray
```

Flags worth knowing about (apply to both daemons):

- `--allow-send-input` — required for the `send_input` MCP tool
  (raw HID injection). Without it, `send_keys` and `click_at`
  still work because they use `WM_KEY*` / `WM_LBUTTONDOWN` which
  don't need the flag.
- `--enable-spy` — required for the `spy` MCP tool (input
  recording). Without it, `spy(action="start")` returns an
  error.
- `--once` — daemon exits after the first client disconnects;
  useful for one-shot scripted debugging. Default is "stay up
  and accept new clients."

The `scripts/spawn-daemon.cmd <port>` and
`scripts/spawn-daemon32.cmd <port>` helpers in the rdbg release
zip route through the `RdbgDaemonInteractive` /
`RdbgDaemon32Interactive` scheduled tasks so SSH-spawned daemons
land in your interactive session rather than Session 0. The
release zip also ships a `Start-rdbg-daemon.lnk` shortcut next
to `rdbgd64.exe` for one-click launch on port 5902.

If the plugin's `auto_start_daemon` config is true (the default),
you don't need to run any of this — `rdbg-mcp.exe` spawns the
matching daemon detached on first MCP tool call. Run this
manually only if you've turned auto-start off, or if you want
non-default flags that aren't in `daemon_args` (the `%PORT%`
template substitutes the bitness-appropriate port).
