Why the i-have-adhd Always-On Flag Requires a Specific Plugin Version
The always-on flag only functions with plugin version 0.1.0 or later because it depends on a SessionStart hook that executes hooks/always-on.sh at the start of every session, which earlier versions lack.
The always-on flag in the ayghri/i-have-adhd repository provides persistent ADHD-focused assistance by automatically injecting the ruleset into every Claude Code session. However, this feature requires specific hook infrastructure within the plugin itself to operate. Without the correct version installed, the flag file is silently ignored and the behavior never activates.
How the Always-On Mechanism Works
The always-on feature operates through a file-based flag system. When you create the file ~/.claude/.i-have-adhd-always, you signal the plugin to activate persistent mode. At session start, the system checks for this flag and, if present, injects the contents of skills/i-have-adhd/SKILL.md into the conversation context.
This process relies on the hooks/always-on.sh script (lines 10-15 and 29-30), which performs three critical functions: checking for the flag file's existence, loading the SKILL.md ruleset, and printing an activation banner. The script references the specific path ~/.claude/.i-have-adhd-always to determine whether to proceed with injection.
The SessionStart Hook Dependency
The core requirement that ties the always-on flag to a specific version is the SessionStart hook implementation. According to the source code in hooks/hooks.json, the plugin registers hooks/always-on.sh to execute automatically at the start of every Claude Code session.
This hook infrastructure was introduced in plugin version 0.1.0. Older releases of the i-have-adhd plugin do not contain the hooks/ directory or the hooks.json configuration file. Consequently, even if you create the flag file on disk, the absence of the hook means no script runs to check for it or load the ruleset.
Version Compatibility and File Structure
To verify your plugin includes the necessary components, check for these specific files in your installation:
hooks/hooks.json– Registers the SessionStart hook (present only in v0.1.0+)hooks/always-on.sh– The executable script that processes the flag fileskills/i-have-adhd/SKILL.md– The ruleset content injected when the flag is active
If your installation predates version 0.1.0, these files are missing entirely, breaking the always-on functionality chain.
Enabling and Troubleshooting the Always-On Flag
To activate the feature with a compatible version:
# Create the flag file to enable always-on mode
touch ~/.claude/.i-have-adhd-always
To disable it:
# Remove the flag file to disable always-on mode
rm ~/.claude/.i-have-adhd-always
If the always-on behavior fails to activate despite creating the flag file, update the plugin to ensure the SessionStart hook is present:
# Update to the version containing hooks/hooks.json
claude plugin marketplace update i-have-adhd
The troubleshooting documentation in INSTALL.md (lines 99-100) specifically notes this version requirement, indicating that users must update to the release that includes the hook infrastructure for the flag to function.
Summary
- The always-on flag requires plugin version 0.1.0 or later to function because earlier versions lack the SessionStart hook infrastructure.
- The feature depends on
hooks/hooks.jsonregisteringhooks/always-on.shto execute at session start. - The script checks for
~/.claude/.i-have-adhd-alwaysand injectsskills/i-have-adhd/SKILL.mdwhen present. - Update the plugin using
claude plugin marketplace update i-have-adhdif the flag appears ineffective.
Frequently Asked Questions
What plugin version do I need for the always-on flag to work?
You need version 0.1.0 or later. This version introduced the hooks/hooks.json file and the hooks/always-on.sh script that checks for the flag file at session start. Earlier versions lack this infrastructure entirely.
Why is my always-on flag file being ignored?
If you created ~/.claude/.i-have-adhd-always but see no effect, you are likely running a plugin version older than 0.1.0. Without the SessionStart hook defined in hooks/hooks.json, the system never executes the script that reads the flag file. Update the plugin to resolve this.
Where is the always-on logic implemented in the source code?
The logic resides in hooks/always-on.sh (specifically lines 10-15 and 29-30), which checks for the flag file and loads the ruleset. The hook registration that triggers this script is defined in hooks/hooks.json. The actual ruleset content comes from skills/i-have-adhd/SKILL.md.
Can I use the always-on feature without updating the plugin?
No. The always-on functionality fundamentally requires the SessionStart hook mechanism introduced in version 0.1.0. There is no workaround to enable this feature in earlier versions because the necessary hook infrastructure and script files are absent from those releases.
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 →