Common problems
| What you see | Likely cause | Fix |
|---|---|---|
A dmn command says no engine is running |
Commands never start the engine themselves | Open the app, or run dmn start |
| An agent never asks DMN | It isn't connected, or it started before you connected it | dmn config verify, then dmn skill-init --apply or dmn mcp-init --apply, and restart the agent |
| Results miss a file you just changed | The index is still catching up | dmn index --watch waits until it's searchable |
An agent's terminal can't find dmn |
DMN's folder isn't on its PATH, or the terminal started before the install | Open a new terminal. If that doesn't help, dmn doctor says which folder to add |
| The app's window never opens | Windows is missing the WebView2 runtime the app draws with | Install it from Microsoft's WebView2 page. The command line works without it |
| Indexing a big project is slow | Without a GPU set up, DMN reads code on the CPU | On an NVIDIA card: Settings ▸ GPU acceleration, or dmn gpu install-cuda |
| Anything else | dmn doctor |
What dmn doctor says
Each line is a check, marked OK, WARN or FAIL. A FAIL makes dmn doctor exit with an error, so scripts can use it. These are the ones that need you:
| Check | What it means | What to do |
|---|---|---|
| Daemon: not running or unreachable | The engine isn't running | Open the app, or dmn start |
| Daemon: unresponsive | The engine is running but doesn't answer | dmn stop, then dmn start |
| Binaries (PATH): not on PATH | Agents can't run dmn |
Add the folder it names to your user PATH; the installer normally does this |
| Binaries (PATH): two installs | Agents get a different dmn from the one you're running |
Remove or reorder the one it calls stale |
| Other dmn builds (PATH) | Another dmn on your PATH differs from this one |
Remove, rename or reorder the stale one |
| WebView2 runtime: not detected | The app can't draw its window | Install WebView2 (see above) |
| MCP config: no MCP config detected | No agent has DMN's MCP server | dmn mcp-init --apply |
| Hooks: duplicate briefing hooks | The briefing hook is set both for your user and for the project, so it runs twice | Remove one; dmn hook-init --remove previews what it would take out |
| Embedding model: embedder missing, or failed to load | Search can't match code by meaning | dmn models fetch |
| Embedding model: stored vectors are incompatible | The index was built with another model | dmn index --force |
| Index (project): not indexed | This folder isn't a project yet | dmn index, or open the folder in the app |
| Index (project): files still awaiting embedding | Search by meaning is incomplete until they finish | Wait, or check the GPU; if it never finishes, dmn index --force |
| Proxy build: an older build | The proxy still runs the version from before an update | dmn proxy enable hands over to the new one, or restart DMN |
Logs and versions
dmn logsshows the engine's log.dmn logs --level warnshows only problems, and-ffollows it.dmn whoamisays which engine you're talking to: its version, its folders and its process, and warns when a second one is running.dmn config showprints the settings in effect and where each came from.
Still stuck
Write to support@getdmn.com with what you ran, what you saw and the output of dmn doctor. Read it first: it shows folder paths on your machine.