# DMN > DMN is a free desktop workspace (Windows today) for coding agents — Claude Code, Codex and plain shells side by side — with a local engine that keeps what they learn, so you stop carrying context between them: memory notes every agent on a project can read (rules first, newest next, stale ones marked), lessons learned from past sessions, code search that returns the matching code, and advisory file claims so parallel agents can see who's editing what. Measured on bug-localisation tasks, on code the model could rarely place without tools: 21–25% fewer agent requests and 16–22% fewer tokens, finding the right code about as often. No clear gain on a popular project where the model could often name the spot with no tools. ## Pages - [Home](/): what DMN is, in one screen - [Workspace](/workspace/): panes, the Fleet panel, the editor, terminals and themes - [Engine](/engine/): code search, shared memory, file claims, connecting agents, the MCP tools - [Demo](/demo/): an interactive copy of the workspace with sample data - [Benchmarks](/benchmarks/): method, results on three code bases, and where DMN doesn't help - [Download](/download/): requirements and first steps - [Docs](/docs/): quickstart, commands, shortcuts, glossary, troubleshooting - [DMN and Claude Code](/compare/claude-code/): how DMN compares with Claude Code's desktop app - [Coming from Warp](/compare/warp/): what carries over from Warp - [All comparisons](/compare/): DMN next to Claude Code's app, Warp, Conductor, Superset and BridgeMind - [About](/about/): why DMN exists, why it's free, what stays local ## Connect an agent - Start in DMN's panes: Claude Code (its terminal or DMN's chat pane), Codex, Gemini CLI, Cursor's CLI, Aider - Agent skill, `dmn skill-init --apply` (teaches the `dmn` command line): Claude Code, Codex, Gemini CLI, Cursor; OpenCode reads the same skill folders - MCP, `dmn mcp-init --apply` (adds DMN's MCP server to every client it finds): Claude Code, Codex, Cursor, Gemini CLI, Continue, Warp, and any MCP client - Ask: `dmn search "" --curate`, `dmn context `, `dmn impact --symbol `, `dmn grep ""`