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-adhd to toggle, or /i-have-adhd on to force enable the mode for the current session.
  • Persistent configuration: Create ~/.claude/.i-have-adhd-always to activate the mode automatically via the SessionStart hook in hooks/always-on.sh.
  • Natural deactivation: Say "stop adhd mode" or "normal mode" to disable the plugin mid-conversation.
  • Explicit control: Use /i-have-adhd off or /i-have-adhd stop to 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:

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 →