How to Disable I-Have-ADHD Mode: 3 Methods to Turn Off the Pi Extension

To disable I-Have-ADHD mode, remove the always-on flag file, use the /i-have-adhd off command, or type "stop adhd mode" in chat.

The I-Have-ADHD skill is a Pi extension developed by ayghri/i-have-adhd that injects a ruleset of 10 ADHD-friendly output rules into your conversations. This guide covers the three ways to turn it off based on the actual source code implementation in extensions/i-have-adhd.ts and the companion hook scripts.

Understanding How I-Have-ADHD Mode Works

The extension uses three mechanisms to control whether the ADHD rules are active:

  • Runtime flag (--adhd or pi.getFlag("adhd")) — enables the mode at launch
  • Always-on flag file ($CLAUDE_CONFIG_DIR/.i-have-adhd-always) — permanently enables the mode for every session
  • In-session commands and stop phrases — lets you toggle the mode during a conversation

All disable methods ultimately call setEnabled(false, ctx) in the core extension, which removes the ruleset message, clears the UI status badge, and updates the internal state.

Method 1: Remove the Always-On Flag File (Permanent Disable)

The most reliable way to completely disable I-Have-ADHD mode is to delete the persistent flag file. This stops the SessionStart hook from automatically injecting the rules in new sessions.

The hook script at hooks/always-on.mjs (or always-on.sh) checks for this file on lines 17-24. If found, it triggers the mode before any user interaction.

rm "$HOME/.claude/.i-have-adhd-always"

If your Claude config directory is in a non-standard location, use this expanded path:

rm "$(dirname $(readlink -f ~/.claude))/.i-have-adhd-always"

After deletion, launch a new Pi session. The extension will not load the ADHD rules automatically.

Method 2: Use the Built-In Toggle Command (Session-Only)

For temporary control without affecting future sessions, use the /i-have-adhd slash command registered in extensions/i-have-adhd.ts at lines 87-109.

Command Effect
/i-have-adhd off Disables mode for current session
/i-have-adhd stop Same as off — disables mode
/i-have-adhd Toggles current state (on → off, or off → on)

Example to turn off I-Have-ADHD mode immediately:

/i-have-adhd off

The extension confirms the change and removes the visual status indicator from your session.

Method 3: Type a Stop Phrase (Natural Language)

The extension monitors chat input for specific trigger phrases at lines 121-133 of extensions/i-have-adhd.ts. This allows natural language disabling without remembering slash commands.

Type either exact phrase in your message:


stop adhd mode

Or:


normal mode

The extension detects these strings, calls the disable routine, and responds with: "ADHD mode disabled."

This works even mid-conversation and requires no command syntax.

How the Disable Mechanism Works Internally

When any disable pathway triggers, the extension at extensions/i-have-adhd.ts executes:

  1. Sets internal enabled state to false
  2. Removes the i-have-adhd-disabled message ruleset
  3. Clears the UI status badge indicating active mode
  4. Sends confirmation to the user

The setEnabled(false, ctx) function handles all state cleanup consistently across methods.

Key Source Files Reference

File Purpose
extensions/i-have-adhd.ts Core extension with flag handling, command registration, and input monitoring
hooks/always-on.mjs / always-on.sh Session start hook that auto-enables mode when flag file exists
skills/i-have-adhd/SKILL.md Documentation of the 10 ADHD-friendly rules and stop triggers
tests/test_always_on_hooks.py Verification suite for enable/disable logic

Summary

  • Delete $HOME/.claude/.i-have-adhd-always to permanently disable I-Have-ADHD mode across all future sessions
  • Type /i-have-adhd off or /i-have-adhd stop to disable for the current session only
  • Say "stop adhd mode" or "normal mode" in chat for natural language disabling
  • All methods route through setEnabled(false, ctx) in extensions/i-have-adhd.ts for consistent state management

Frequently Asked Questions

What happens if I delete the flag file while a session is running?

Deleting the always-on flag file only affects new sessions. Your current session retains whatever state it had. To disable mid-session, use the /i-have-adhd off command or a stop phrase.

Do the stop phrases require exact capitalization?

No. The input listener in extensions/i-have-adhd.ts processes the phrases case-insensitively as of the current implementation. "Stop ADHD Mode", "STOP ADHD MODE", and "stop adhd mode" all trigger the disable action.

Can I re-enable I-Have-ADHD mode after disabling it?

Yes. Use /i-have-adhd on to enable for the current session, or recreate the always-on flag file with touch "$HOME/.claude/.i-have-adhd-always" for persistent activation on future launches.

Where is the official documentation for the 10 ADHD rules?

The human-readable rules are documented in skills/i-have-adhd/SKILL.md within the repository. This file also specifies the "stop adhd mode" trigger phrase as the canonical way to exit the mode.

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 →