Difference Between Disabling i-have-adhd "Stop ADHD Mode" and Removing the Plugin

Disabling i-have-adhd using "stop adhd mode" temporarily toggles a session flag that stops ADHD-specific rules from being injected while keeping the extension loaded, whereas removing the plugin permanently deletes the extension code and registration from your Pi-Coding-Agent project.

The ayghri/i-have-adhd repository implements a Pi-Coding-Agent extension that modifies conversation output for ADHD-friendly formatting. Understanding the distinction between disabling the mode and completely removing the plugin ensures you choose the right approach for your workflow without unintended side effects.

How "Stop ADHD Mode" Works

The Session Toggle Mechanism

When you type the stop phrases stop adhd mode or normal mode, the extension invokes the setEnabled(false, ctx) function located in [extensions/i-have-adhd.ts](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts#L59-L65). This function appends an entry to i-have-adhd-state in the session manager and dispatches a DISABLED_MESSAGE_TYPE notification (defined at lines 23-30), which displays the DISABLED_NOTICE constant (lines 26-27) to confirm the change.

The extension itself remains imported and active in memory. It simply stops injecting the custom ruleset defined in skills/i-have-adhd/SKILL.md into the conversation context.

Re-enabling After Disabling

Because the disable operation only flips a runtime flag, you can immediately re-enable ADHD mode by issuing the /i-have-adhd command or toggling the state again. The session-wide persistence survives conversation tree events but resets when the agent restarts with a fresh session.

Consequences of Removing the i-have-adhd Plugin

Permanent Code Removal

Removing the plugin involves deleting the [plugin.json](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) registration file and/or the extensions/i-have-adhd.ts source file from your repository. Once these files are gone, the Pi-Coding-Agent no longer imports the extension during startup, meaning the setEnabled function and command handlers never load into memory.

Complete Loss of Functionality

Without the extension code present, the stop phrases stop adhd mode and commands like /i-have-adhd have no effect—the agent interprets them as plain text. Unlike disabling, this change is repository-wide and survives indefinitely until you restore the deleted files.

Key Differences Comparison

Aspect Disabling ("Stop ADHD Mode") Removing the Plugin
Scope Session-wide, temporary Repository-wide, permanent
Implementation Calls setEnabled(false, ctx) which updates i-have-adhd-state and sends DISABLED_MESSAGE_TYPE Extension code in extensions/i-have-adhd.ts is never imported; plugin.json entry is missing
Re-enable Run /i-have-adhd or toggle again Must restore plugin.json and source files or reinstall
Persistence Survives session-tree events but not fresh starts Permanent absence of functionality

Practical Code Examples

Disabling at Runtime

// User input in conversation
stop adhd mode

// Internal execution in extensions/i-have-adhd.ts:
setEnabled(false, ctx)
// → Updates i-have-adhd-state
// → Sends DISABLED_MESSAGE_TYPE with DISABLED_NOTICE

Removing the Plugin Permanently


# Navigate to repository root

cd your-pi-coding-agent-project

# Remove the plugin registration

rm plugin.json

# Remove the extension source (if installed as separate files)

rm -rf extensions/i-have-adhd.ts

# Commit the changes

git add -A
git commit -m "Remove i-have-adhd plugin"

Critical Source Files

Understanding these files clarifies the distinction between runtime disabling and permanent removal:

  • extensions/i-have-adhd.ts (lines 59-65): Contains the setEnabled function that handles the disable toggle and the DISABLED_MESSAGE_TYPE logic (lines 23-30) that generates the disabled notification.
  • plugin.json: Registers the extension with the Pi-Coding-Agent loader; deleting this file prevents the extension from loading entirely.
  • skills/i-have-adhd/SKILL.md: Defines the ADHD-specific output rules that get injected when the mode is enabled; disabling stops this injection, while removing the plugin eliminates access to these rules.

Summary

  • Disabling via "stop adhd mode" triggers setEnabled(false, ctx) in extensions/i-have-adhd.ts, setting a temporary session flag that stops rule injection while keeping the extension ready for reactivation.
  • Removing the plugin requires deleting plugin.json and the extension source, permanently eliminating the feature and all associated commands from your project.
  • Disabling persists only for the current session tree, whereas removal persists until you manually restore the files.
  • The stop phrases and /i-have-adhd command depend entirely on the extension being loaded; removal renders these inputs inert.

Frequently Asked Questions

Can I re-enable i-have-adhd after typing "stop adhd mode"?

Yes. Disabling is a reversible toggle. You can re-enable the mode immediately by running the /i-have-adhd command or using the toggle command again, which calls setEnabled(true, ctx) and resumes injection of the ADHD-specific ruleset.

Does disabling the mode remove the custom ruleset from my conversation history?

No. Disabling only stops future injection of the rules defined in skills/i-have-adhd/SKILL.md. It does not alter or remove historical messages in your conversation tree that were already processed with the ADHD formatting applied.

What file do I need to delete to completely remove the i-have-adhd feature?

To permanently remove the feature, delete [plugin.json](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) from your repository root. This file registers the extension with the Pi-Coding-Agent; without it, the loader never imports extensions/i-have-adhd.ts, effectively eliminating all functionality.

Will the "stop adhd mode" command persist across agent restarts?

No. The disabled state is stored in the session manager via the i-have-adhd-state entry, which survives conversation tree navigation but clears when you start a fresh agent session. If you need the feature permanently off, you must remove the plugin files rather than relying on the stop command.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →