Devin Desktop (formerly Windsurf) reads workspace rules from .devin/rules/*.md (legacy .windsurf/rules/ still works), a global global_rules.md (6,000 characters max) and AGENTS.md files, which feed the same rules engine (root = always on, subfolders = scoped). The Devin Local agent also reads CLAUDE.md, .windsurfrules and .cursor/rules. It keeps MCP servers in .devin/mcp_config.json (project), .devin/mcp_config.local.json or ~/.config/devin/mcp_config.json, and permissions in .devin/config.json as allow / ask / deny rules.
Devin Desktop (ex-Windsurf) at a glance
| Global instructions | ✓ Yes Cascade: ~/.codeium/windsurf/memories/global_rules.md (6,000 chars). Devin Local/CLI: ~/.config/devin/AGENTS.md, ~/.claude/CLAUDE.md |
|---|---|
| Project instructions | ✓ Yes.devin/rules/*.md (preferred) or .windsurf/rules/*.md, 12,000 chars per file; AGENTS.md; Devin Local also AGENTS.local.md, AGENT.md, CLAUDE.md, .windsurfrules, .cursor/rules/*.mdc |
| Nested / subfolder | ✓ Yes Subdirectory AGENTS.md is scoped to that folder; rules dirs found in subfolders and parents up to the git root |
| AGENTS.md | ✓ Yes Root AGENTS.md is an always-on rule; nested files apply to their directory |
| Skills (SKILL.md) | ✓ Yes.devin/skills/ or .windsurf/skills/, .agents/skills/; global ~/.config/devin/skills/, ~/.agents/skills/ |
| MCP config | ✓ Yes Devin Local/CLI: .devin/mcp_config.json (project), .devin/mcp_config.local.json (local), ~/.config/devin/mcp_config.json (user). Legacy Cascade: its own mcp_config.json |
| Permissions / allowlist | ✓ Yes Devin Local: deny / ask / allow rules ( Read(), Write(), Exec(), fetch, MCP) in .devin/config.json or ~/.config/devin/config.json |
| Sandbox | ✓ Yes Devin Local supports OS-level sandboxing (filesystem + network filtering) |
| Hooks | ✓ Yes Devin CLI/Local hooks in .devin/; Cascade Hooks for the legacy agent |
| Claude Pro/Max login | ✕ No Not documented |
| ChatGPT Plus/Pro login | ✕ No Not documented |
| API key / own plan | ? Not documented Uses Devin/Windsurf plan quota; BYOK not documented in the pages checked |
Exact file paths
| Path | Scope | What it does |
|---|---|---|
.devin/rules/*.md | Workspace | One rule per file with trigger frontmatter (legacy .windsurf/rules/) |
~/.codeium/windsurf/memories/global_rules.md | User | Cascade global rules, always on, 6,000 chars |
AGENTS.md (root / subfolders) | Workspace | Always-on at root, directory-scoped below |
~/.config/devin/AGENTS.md | User | Devin Local / CLI global rules |
.devin/config.json / ~/.config/devin/config.json | Project / user | Devin Local permissions and settings |
.devin/mcp_config.json | Project | Devin Local MCP servers (mcp_config.local.json for personal) |
.devin/skills/<name>/SKILL.md | Project | Skills (also .windsurf/skills, .agents/skills) |
Using a shared AGENTS.md with Devin Desktop (ex-Windsurf)
Native: root AGENTS.md is an always-on rule; subfolder files are scoped. See one AGENTS.md for every agent, or generate one with the AGENTS.md generator.
Copy-paste examples
Glob-triggered workspace rule
File: .devin/rules/tests.md
---
trigger: glob
globs: "**/*.test.ts"
---
Use vitest. Never mock the database layer; use the test container.
Safe permissions preset
Safe Devin Local permissions
File: .devin/config.json
{
"permissions": {
"allow": [
"Read(**)",
"Exec(git status)",
"Exec(git diff)",
"Exec(npm test)"
],
"ask": [
"Exec(git push)",
"Exec(npm install)"
],
"deny": [
"Exec(rm)",
"Exec(sudo)",
"Exec(git push --force)",
"Exec(git reset --hard)",
"Exec(terraform destroy)",
"Read(**/.env)",
"Read(**/*.pem)"
]
}
}
Deny has the highest priority. Shape follows the Devin CLI permissions reference. Turn on the Devin Local sandbox so Read(...) denies also hide paths from shell commands.
Gotchas
- Windsurf was renamed Devin Desktop on June 2, 2026.
.devin/is now preferred and takes precedence over.windsurf/. - Workspace rule files are capped at 12,000 characters and the global rules file at 6,000.
- Devin Local prompts before MCP tool calls by default, unlike Cascade.
- The MCP config location changed in Devin CLI v3000.3; older versions kept servers in the main config file.
FAQ
Where are Windsurf rules stored now?
Does Windsurf / Devin Desktop support AGENTS.md?
Where is the Devin Desktop MCP config?
Sources
Checked against these official pages on 2026-10-12. Cells marked "Not documented" mean we could not find the behaviour in these docs; it may still exist.