Enabling skills in AI Configuration → Manage Skills works for the current session, but the selection is lost as soon as BetterTouchTool restarts. Every skill returns to its default state and has to be re-enabled.
The interesting part: the underlying mechanism works fine - it seems to be only the UI's save path that is missing.
If I write BTTAIActiveSkills directly into an assistant's BTTAdditionalDataJSON (via add_new_trigger), the key persists across restarts and is honoured - the tool set visible to that assistant changes accordingly. With ["safari_automation"] the assistant drops to 0 tools; with a list of guessed ids it came back with 4 (run_javascript, sequential_thinking, web_fetch, web_search). So BTT reads the key correctly. The Manage Skills UI simply never writes it.
When toggling in the UI instead, nothing is written anywhere I could find:
- no
BTTAIActiveSkills/BTTAIOptionalSkills/BTTAIDisabledSkillskey appears in the assistant'sBTTAdditionalDataJSON - no
~/Library/Application Support/BetterTouchTool/AI/Skills/directory is ever created - nothing in
index.db,function_library.sqliteormemory.db - no matching key in
com.hegenberg.BetterTouchTool
I think this is the same thing cornelius reported in h@llo.ai - Upcoming AI Features post #115 back in April ("any changes to the toggles there don't seem to be saved after closing that panel"), which does not seem to have been picked up since.
Could you post the list of built-in skill ids? Only safari_automation appears as a plain string in the binary. With the correct ids, writing BTTAIActiveSkills directly would be a usable workaround until the UI saves properly.
Possibly related: with the external MCP server enabled, tools/list returns all 46 tools regardless of which assistant is active, and after activate_btt_assistant the reported visibleToolNames is driven entirely by the assistant's "allow all JavaScript tools" setting - 0 when off, 38-41 when on, with nothing in between. Calls are correctly rejected at the tools/call layer, so enforcement works; skill-based scoping just does not seem to reach it. Happy to send session logs if useful.
Device information:
Type of Mac: MacBook Pro (Mac17,6), Apple M5 Max, 48 GB
macOS version: 26.5
BetterTouchTool version: 6.640 (2026071312), also reproduced on 6.687 alpha (2026073101)

