How to Activate i-have-adhd Mode on Demand in Claude Code
You can activate i-have-adhd mode instantly by typing /i-have-adhd in Claude Code to toggle the state, use /i-have-adhd on for explicit activation, or create the file ~/.claude/.i-have-adhd-always to enable the mode automatically for every session.
The i-have-adhd repository by ayghri provides a Claude Code plugin that modifies AI interaction patterns to better support users with ADHD. According to the source code in extensions/i-have-adhd.ts, the plugin implements two distinct activation mechanisms: runtime slash commands for immediate control and filesystem flags for persistent configuration.
Toggle Mode Instantly with the /i-have-adhd Command
The primary interface for on-demand activation resides in extensions/i-have-adhd.ts, which registers the /i-have-adhd slash command within Claude Code. This command provides flexible runtime control without requiring configuration file changes.
Basic Toggle Syntax
Running the command without arguments switches the current state from active to inactive or vice versa. This is useful when you need to quickly enable the specialized formatting for a specific task.
/i-have-adhd
Explicit State Control
To avoid ambiguity about the current state, the extension accepts explicit parameters. Append on to force activation or off to force deactivation for the remainder of the session.
# Force enable i-have-adhd mode
/i-have-adhd on
# Force disable i-have-adhd mode
/i-have-adhd off
# Alternative syntax to stop the mode
/i-have-adhd stop
The command also supports the built-in alias /skill:i-have-adhd, which functions identically to the main command according to the implementation in extensions/i-have-adhd.ts.
Configure Automatic Session Activation
For users who require the mode consistently, the repository provides SessionStart hooks that check for a hidden flag file before the first response.
The Always-On Flag File
The hooks located in hooks/always-on.sh (with PowerShell and Node.js variants in hooks/always-on.ps1 and hooks/always-on.mjs) check for the existence of $CLAUDE_CONFIG_DIR/.i-have-adhd-always. By default, this resolves to ~/.claude/.i-have-adhd-always. When present, the hook injects the full ruleset automatically.
Create the flag file to enable persistent activation:
# Unix/macOS
touch ~/.claude/.i-have-adhd-always
# Windows PowerShell
New-Item -Path $env:CLAUDE_CONFIG_DIR\.i-have-adhd-always -ItemType File
Disabling Automatic Activation
To revert to standard mode for future sessions, remove the flag file:
rm ~/.claude/.i-have-adhd-always
The hook declaration in hooks/hooks.json ensures this check runs during every Claude Code session initialization, making the mode active immediately upon startup without manual intervention.
Deactivate Mode with Natural Language
While the mode is active, the input listener defined in extensions/i-have-adhd.ts monitors for specific stop phrases. You can disable the mode mid-conversation by typing:
- "stop adhd mode"
- "normal mode"
These phrases trigger immediate deactivation without requiring the slash command syntax, providing an intuitive exit mechanism documented in skills/i-have-adhd/SKILL.md.
Summary
- Immediate activation: Type
/i-have-adhdto toggle, or/i-have-adhd onto force enable the mode for the current session. - Persistent configuration: Create
~/.claude/.i-have-adhd-alwaysto activate the mode automatically via the SessionStart hook inhooks/always-on.sh. - Natural deactivation: Say "stop adhd mode" or "normal mode" to disable the plugin mid-conversation.
- Explicit control: Use
/i-have-adhd offor/i-have-adhd stopto force the mode off when needed.
Frequently Asked Questions
How do I check if i-have-adhd mode is currently active?
The plugin does not provide a direct status query command. According to extensions/i-have-adhd.ts, running /i-have-adhd without arguments toggles the state, so you should use explicit commands (/i-have-adhd on or /i-have-adhd off) when you need predictable control rather than relying on toggle behavior.
Can I use i-have-adhd mode on Windows?
Yes. The repository includes cross-platform SessionStart hooks: hooks/always-on.sh for Unix-like systems, hooks/always-on.ps1 for Windows PowerShell, and hooks/always-on.mjs for Node.js environments. The activation commands (/i-have-adhd) work identically across all platforms within Claude Code.
What happens if I create the always-on flag but want to disable the mode temporarily?
If ~/.claude/.i-have-adhd-always exists, the mode will reactivate at the start of every new session. For temporary deactivation during a single session, use /i-have-adhd off or say "normal mode". To permanently disable automatic activation, delete the flag file using rm ~/.claude/.i-have-adhd-always.
Where is the i-have-adhd skill definition stored?
The human-readable skill description and persistence rules are documented in skills/i-have-adhd/SKILL.md, while the core command registration and logic reside in extensions/i-have-adhd.ts. The SessionStart hooks that handle automatic activation are located in the hooks/ directory alongside their configuration in hooks/hooks.json.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →