Earn 14 free days when your bug report or suggestion is accepted — how it works

Turn CodeLoop on or off

CodeLoop is two things working together: an MCP server (the tools your agent calls) and the agent rules (the instructions in CLAUDE.md/ Cursor rules that tell the agent to call those tools after every change). A clean “off” has to handle both. That’s exactly what the two commands below do — across Claude Code, Cursor, and any other MCP client, global and per-project.

The one-command toggle
npx codeloop disable     # turn CodeLoop off (keeps your config)
npx codeloop enable      # turn it back on

disable removes the MCP registration, agent rules, and post-edit hooks, but keeps .codeloop/config.json and artifacts/ so enable restores everything (no re-auth). This is disable, not uninstall.

Why a command (and not just a checkbox)

In Cursor you can flip the codeloop MCP server off in Settings → Tools & MCP, and it sticks. Claude Code is different: it has no persistent per-server GUI toggle for user-scope servers (the "disabled": true flag in ~/.claude.json is ignored unless you launched from your home folder — a known limitation), and turning the server off wouldn’t touch the CLAUDE.md rules that keep nudging the agent. So codeloop disableedits the config files directly — the reliable way to make “off” actually stick.

What each command touches

By default both commands apply to the global install AND the current project. Use flags to narrow the scope:

npx codeloop disable            # global + this project (default)
npx codeloop disable --global   # only the always-on global install
npx codeloop disable --project  # only this repo
npx codeloop disable -y         # skip the confirmation prompt

npx codeloop enable             # restore global + this project
npx codeloop enable --global    # only the global install
npx codeloop enable --no-hooks  # restore without the post-edit hooks
Surfacedisable removesKept
MCP registrationcodeloop entry in ~/.claude.json, ~/.cursor/mcp.json, and the project .claude/settings.local.json / .cursor/mcp.json (your other MCP servers are left intact)
Agent rulesThe CodeLoop block in ~/.claude/CLAUDE.md, the CodeLoop-generated project CLAUDE.md, Cursor global + project rule filesAny non-CodeLoop content you wrote in CLAUDE.md
Post-edit hooksThe codeloop_post_edit hook in ~/.cursor/hooks.json and the project .claude/settings.local.jsonAny other hooks you configured
Project state.codeloop/config.json (your API key) and artifacts/

Already-open sessions:the MCP server is a long-lived child of the IDE window, so a config edit doesn’t stop the running process. After disable/enable, take effect immediately with the in-session controls below (or just restart the editor).

Claude Code — in-session controls

Claude Code (v2.1.6+) can toggle a server for the current session without editing files:

/mcp disable codeloop     # off for this session
/mcp enable codeloop      # back on
/mcp                      # interactive panel: view + toggle every server

This is the fastest “pause” and is reliable for the current session. For a durable off across restarts, use npx codeloop disable (it also silences the CLAUDE.md rules, which /mcp disable does not). If you only ever want the server gone, claude mcp remove codeloop works too — but you’d then re-add it manually and the rules would remain.

Cursor — the native toggle

In Cursor, press Cmd/Ctrl+Shift+J Tools & MCP → toggle the codeloop row off. This disables the tools and persists. To fully quiet the rules as well (so the agent stops being told to run CodeLoop), run npx codeloop disable, which also removes the Cursor rule files.

Re-enabling

npx codeloop enable
# Claude Code: /mcp enable codeloop  (or restart)
# Cursor: reload window, toggle codeloop ON in Tools & MCP

If enable reports no API key, run npx codeloop auth first (Claude Code needs a real key baked into the config, not the ${CODELOOP_API_KEY} placeholder), then run enable again.

Prefer report-only over fully off?

If you want CodeLoop to keep verifying but stop editingcode, you don’t need to disable it — set "agent_mode": "audit" in .codeloop/config.json for a report-only posture, or set e2e.auto_journey: false to keep build/test verification while skipping the deep-E2E journey.

Next steps