Join Nostr
2026-04-14 07:42:52 UTC
in reply to

jonny (nonvenomous) on Nostr: What about the ways that claude code checks for whether KAIROS is enabled? well look ...

What about the ways that claude code checks for whether KAIROS is enabled? well look no further than<li>getKairosActive() / <code>STATE.kairosActive</code> / <code>context.getAppState().kairosEnabled</code></li><li><code>kairosGate</code> / <code>kairosGate.isKairosEnabled()</code></li><li><code>isKairosCronEnabled()</code></li><li><code>options.assistant?</code> (and all variants of being passed whatever the caller's interpretation of active is)</li><li><code>assistantModule.isAssistantMode()</code></li><li><code>assistantModule.isAssistantForced()</code></li><li><code>isEnvTruthy(process.env.CLAUDE_CODE_PROACTIVE))</code></li><li><code>proactiveModule.isProactiveActive()</code> / <code>isProactiveActive_SAFE_TO_CALL_ANYWHERE()</code></li><li><code>getAllowedChannels().length &gt; 0</code></li><li><em>literally whether some arbitrary chunk of input text has <code>&lt;TICK&gt;</code> in it</em></li>

these are all orthogonal to each other. I grouped generously. I tried to filter for only the checks that were annotated as being for whether we were doing a kairos/assistant/persistant rather than whether any subfeatures of that are enabled.