A workaround for a Yosemite/Witch issue

Over the course of the Yosemite beta, we’ve had a few reports of users not being able to make Witch work properly. If you’ve got this problem, you’ll know, because you’ll see this dialog every time you try to call up the Witch switcher panel:

For the sake of search engines, the text reads:

“witchdaemon” would like to control this computer using accessibility features

Grant access to this application in Security & Privacy preferences, located in System Preferences.

You’ll see that even after you think you’ve done what it asks you to do, and then you’ll get frustrated and upset and angry and blame us and send me nasty emails. And I completely feel your pain. And I wish I could tell you that it’s a bug in our code that’s causing the problem, so that we could fix it. But it’s not.

Instead, it’s an issue with Yosemite and how it handles (or rather, doesn’t handle) granting Accessibility access to helper apps that are included within another app’s bundle. So as much as I’d love to tell you we’re working on a fix, this isn’t something we can fix. (We may be able to work around the OS X issue, which is what we’re trying to do now. But that’s not fixing the problem, it’s avoiding the problem.)

The good news is that you can get Witch functioning again, even before Apple fixes the issue (or we manage to work around it). Here’s how…

The problem is caused by OS X not adding Witch’s helper application—named witchdaemon—to the Privacy tab of the Security & Privacy System Preferences panel. At least, it doesn’t appear it’s being added. We believe it is being added, but it’s invisible—which is just as bad as not adding it, because you can’t put a check mark in an invisible check box next to an invisible item.

The workaround is to add the helper app to the panel yourself. This won’t solve the invisibility problem—it’s still not going to show up, even after you add it—but it will get Witch working again. That’s because when you add an app to the panel yourself, OS X adds it with the (invisible) check box already (invisibly) checked.

A video walkthrough

If you prefer visual guides, watch the video below; it walks through the entire process for the App Store version of Witch. (If you’d prefer, you can watch the 1280×800 version instead.)

Direct customers: The direct version of Witch is a System Preferences panel; it won’t be found in Applications, but in either your user’s Library > PreferencePanes folder, or the top-level Library > PreferencePanes folder. One of the two will contain a file named Witch.prefPane.
 
Open the proper folder, then follow along in the video ignoring the bits about the Applications folder. Also note that you’ll only have to open the pref pane’s app bundle to find witchdaemon, unlike App Store buyers who have to open two app bundles. See the written instructions below for more help if needed.

And now, on to the written instructions…

App Store customers

  1. Open System Preferences, and go to Security & Privacy, then click on the Privacy tab. Click on Accessibility in the sidebar. Leave this window open somewhere onscreen.
  2. In Finder, go to the Applications folder, and right-click (or Control-click) on Witch. In the contextual menu that appears, select Show Package Contents. This may or may not open in a new window.
  3. In the new window (or the same window, if a new one didn’t open), double-click Contents, and then PlugIns within contents. This will reveal a Witch.prefPane entry as the only contents of that folder.
  4. Right-click (or Control-click) on Witch.prefPane and choose Show Package Contents. Again, this may or may not open in a new window.
  5. Double-click Contents, then Helpers, and you’ll see witchdaemon as the only item in that folder. Leave this window open.
  6. Switch back to the System Preferences app, as opened in step one.
  7. Click the lock icon and enter your admin password, so you can make changes.
  8. Click the plus sign at the bottom of the “Allow the apps below to control your computer” area of the window. (You could also simply drag the file into the “well” area without going through the “open file dialog.)
  9. This will present the standard “open file” dialog; click and drag witchdaemon from the open window in step five into the open file dialog, then click Open.

That’s it, you’re done.

Direct customers

  1. Open System Preferences, and go to Security & Privacy, then click on the Privacy tab. Click on Accessibility in the sidebar. Leave this window open somewhere onscreen.
  2. In Finder, hold down the Option key and select Go > Library. In the Library folder, double-click on PreferencePanes. If you see Witch.prefPane, you’re in the right spot—skip to step four.
  3. If you don’t see Witch.prefPane here, you must have installed it for all users. Select Go > Go to Folder, and enter /Library/PreferencePanes. This is the system-level Library, and you should see Witch.prefPane here. (If you don’t, it means you either don’t have Witch installed, or you have the App Store version installed.
  4. Right-click (or Control-click) on Witch.prefPane and choose Show Package Contents. This may or may not open in a new window.
  5. Double-click Contents, then Helpers, and you’ll see witchdaemon as the only item in that folder. Leave this window open.
  6. Switch back to the System Preferences app, as opened in step one.
  7. Click the lock icon and enter your admin password, so you can make changes.
  8. Click the plus sign at the bottom of the “Allow the apps below to control your computer” area of the window. (You could also simply drag the file into the “well” area without going through the “open file dialog.)
  9. This will present the standard “open file” dialog; click and drag witchdaemon from the open window in step five into the open file dialog, then click Open.

That’s it, you’re done.

But nothing changed!

You may think this failed, because nothing will look different about the Privacy panel (as witchdaemon is still invisible). But because you added the app yourself, the invisible checkbox has already been checked for you. Invoke Witch now, and it should just work. (Assuming you have already added Witch.app (App Store buyers) or System Preferences (direct buyers) to that panel. This happens the first time you launch the app/pref pane, and the entry is not invisible.)

We are trying to put together a repeatable use case for Apple (because they pretty much require those for their bug reports), but it’s tricky—this bug is only hitting a small number of our users at present, and we’re not sure why. Hopefully we’ll be able to figure out a workaround and issue an app update to resolve the problem, but at least you can still get Witch working in the interim.

56 Responses to “A workaround for a Yosemite/Witch issue”

  1. Jim says:

    Bless you works great now.

    • Ania says:

      Amen! Thank goodness. Wonderful new computer without Witch would not have been wonderful at all.

  2. Sander says:

    It worked :)

    Buuuut, it took me quite some time to find this blog post. One thing to consider: please add dialog box message to you post, makes easier to find it for search engines – “witchdaemon” would like to control this computer using accessibility features.

  3. malc says:

    Worked for me! Thx!

  4. Tomas says:

    It seems to me that the problem with witch not being added in the list in accessibility/privacy window is caused by the fact that it is not added as APP in application folder. It installs only as pref.pane app and for me it was not even included in the APP folder

    Therefore I was pretty confused about the video and instructions – I did not have witch as my app there at all.

    HOWEVER, as soon as I dragged it there (instead of double clicking on the instalation packatge to get into the system pane) it got included in the list OK, so I did not have to drag it there as the video says..

    So this was really confusing, but glad to find this discussion.

    Tomas

    • Rob Griffiths says:

      I tried to be pretty clear: the video is for the App Store version of Witch (which is an app), and not the direct sales version of Witch (which is a preference pane). I said: “Direct customers, the process is very similar, except as detailed in your walkthrough steps below: you’ll start in a different folder, and you don’t have to dig into two packages.” Sorry if that was confusing.

      If you saw it when you dragged it there, then you are not having this problem, and the normal system would have worked fine for you — the video is only applicable to those who can’t see witchdaemon in the list.

      regards;
      -rob.

  5. Alberto says:

    Thank you very much. It did work very well.
    Tricky thing that adding witchdaemon does not appear in the list of allowed apps. I would have never solved it if I hadn´t get to your blog. Thanks again

  6. Great post. Keyboard Maestro suffers the same problem, with the Keyboard Maestro Engine not appearing in the accessibility permissions window. Its clearly affecting a lot of people. I think if you upgrade to Yosemite, you’re existing accessibility permissions will be preserved, but if you do a clean instead, then you have to reconfigure your accessibility permissions and that is when things fall apart.

    Its hard to believe Apple shipped it with it so badly broken. Certainly we can hope they will quickly fix it.

  7. Jeffrey says:

    This actually isn’t working for me.

    I had Witch 1.0.1 and tried the fix, which didn’t work. Then I said, well, he’s definitely earned my $14, if I’ve been using it every day since version 1.0.1, so I bought the App Store version. I didn’t do any kind of uninstall. I now have Witch in Apps and it even populated directly to the Accessibility window and was switch on. Still wasn’t working, so I went to witch.prefpane, open contents and dragged the witchdaemon into the Accessibility window. It didn’t appear to do anything, as indicated above. However, nothing is working. I still get the witchdaemon error, open accessibility dialog. Any help appreciated!

    • Rob Griffiths says:

      If you didn’t uninstall anything, I’d guess you’re still running Witch 1.0, sort of. Try this:

      1) Disable Witch, the one you just bought, by unchecking “Enable Witch” in its interface.

      2) Open System Preferences. Do you see Witch listed in Other? Control-click and remove it.

      3) Re-enable App Store Witch, and possibly repeat the same steps from this blog entry.

      regards;
      -rob.

      • Jeffrey says:

        Thanks for your quick reply, however…

        …no joy. Followed these steps exactly, then repeated the App Store Users directions above. I also threw in a reboot.

        I checked Activity Monitor and the witchdaemon showing up in the list of processes has the new icon, so it’s the right one. And there’s nothing else identifiable as witch-related in there.

        I have to believe there’s something about the 1.0.1 installation that’s lingering/conflicting?

        • Jeffrey says:

          Let me add that I followed the same steps on my laptop, also with version 1.0.1, and it also didn’t work. Rather than install the App Store version, I thought I’d wait and see if you wanted me to run some kind of uninstaller against the 1.0.1 before installing the App Store version.

          • Rob Griffiths says:

            Can I ask you to either open a trouble ticket or email me (rob at … etc.) so we can figure this out? Comments to the post aren’t the ideal spot :).

            thanks;
            -rob.

          • Roger says:

            Same problem as Jeffrey here. I have Witch 1.0.2. I ran through the steps listed above for Direct Customers. I have it installed in the system level library, but I don’t have a “Helpers” folder. “witchdaemon.app” is within a folder called “Resources”. I dragged this into the “Privacy” tab as described but no joy. When I try to invoke Witch through the keyboard combination though I don’t get the dialogue box you refer to at the head of the blog post, instead its just the tab key working, tabbing through the active window. I haven’t tried to download the App Store version, pending the outcome of your research with Jeffrey. If you have arrived at a successful conclusion could you post and let me know. I’m happy to buy the app through the App Store if I know its going to work.

        • Rob Griffiths says:

          This is a reply for Roger, but WordPress won’t let me reply at that level … Roger, please try installing Witch 3 from our site (copy Witch 1 to a save spot first, from your user’s Library > Preferences folder).

          I don’t think, honestly, that Witch 1 will work on Yosemite.

          -rob.

  8. Stevey says:

    Thank-you!

    Many tricks, indeed. This one is excellent and worked perfectly. Much appreciated.

  9. Les says:

    Thanks – I am just picking my way through after a clean install of Yosemite and Witch didn’t initially work after reinstalling it but now works fine after implementing your workaround.

  10. Alessio Palmero Aprosio says:

    I love you all! It works!

  11. Kristen says:

    Thank you, thank you, thank you! Worked for me! Also, small typo: in the Direct customers section, at the end of step 2, it should say to skip to step FOUR, not THREE. :)

  12. christian says:

    This one trick was helping me, thanks!

  13. cjglynn says:

    After clean install of Yosemite and clean install of Witch and implementing your workaround, it still does not work.

    • Rob Griffiths says:

      I’m positive the workaround works, so we’ll need to figure out what’s going on. As comments on the blog are not a great way to do that, can I ask that you visit the Witch support page and choose a way to get additional help? From that page, you can either email me directly, or open a trouble ticket; either is fine.

      thanks;
      -rob.

  14. Aaron says:

    I had this problem after installing Witch via Homebrew Cask on a new MacBook Air after upgrading to Yosemite. Seems to be working fine after following this procedure. Thanks for a great program!

  15. John says:

    I had this problem after using Migration Assistant to transfer data from a Mavericks iMac to a new Mac Book Pro.

    Your fix worked fine. Thanks. It is a great product that I couldn’t live without.

  16. AJ says:

    I upgraded my Mavericks install to Yosemite and Witch was working just fine. Today I decided to wipe and do a clean install. Witch kept asking. I never thought about the invisible thing, but had already fixed it before I came here by adding the witchdaemon.app from the preference pane package.

    I wanted to note that Hazel (from Noodlesoft) somehow works. It also installs as a preference pane and works with a helper app, but when it opened the Accessibility pane it had me place a checkmark by the SystemPreferences.app rather than by it’s helper app. Delving into their prefpane package they have their helper app in “MacOS” folder instead of a “Helpers” folder like you do. Possibly simple fix.

    Thanks for the great apps. Keep up the good work.

    • Rob Griffiths says:

      We tried it there before we ran this blog post—we tried it just about everywhere in the bundle. It’s really random, too—I set up a brand new Yosemite install, and it’s not invisible. So it’s clearly a bug.

      Or maybe I need to say it -was- a bug … I see now that, under OS X 10.10.1, I can see witchdaemon in the list again. Hooray!

      -rob.

  17. Mark Stewart says:

    Please add this to the main page! I barely was able to even find this.

  18. Richard Ihnatowicz says:

    Please explain this – i just got Witch from the App store and it keeps saying that the witchdaemon is damaged – delete it and download again. Where do i find it to delete it?
    Yosemite 10.10.1
    MOOM works fine btw!
    Best
    Richard

    • Rob Griffiths says:

      A message saying the file is damaged might mean exactly that, so take the OS’s advice: Delete Witch, and download it again from the App Store.

      regards;
      -rob.

  19. Richard Ihnatowicz says:

    Yes, I have tried that several times with the same result.
    Not sure where to go from here.
    Richard

  20. Ryan Tyler says:

    Show package contents is not a choice when right click in yosemite

    • Rob Griffiths says:

      Are you an admin user? I think that may be required … either that, or you’re not right clicking on the proper item. (It’s got to work, because, well, that’s how apps are packaged in OS X, and obviously it worked in the video.)

      regards;
      -rob.

  21. Using the direct sales version of Witch and Yosemite 10.10.1, this method does not seem to work: the witchdaemon app is greyed out when you drag it into the Security & Privacy file picker, and cannot be selected:

    http://imgur.com/HfYrdNz

    • Rob Griffiths says:

      It definitely works — I did it myself again yesterday on a newly-formatted MacBook Air. If it’s greyed out, that would appear to be a permissions issue of some sort, or the file is still on the disk image? Can you confirm the path to Witch, and then check the permissions on that file in Finder’s Get Info window?

      If this doesn’t help, please see the Witch support page and either open a ticket or transition to email for further help — blog comments are a terrible place for a tech support conversation :).

      Thanks;
      -rob.

  22. thedimka says:

    Workaround worked around Apple’s bug. I hope you convince them to fix it.

    • Rob Griffiths says:

      We submitted it long ago, but have had no response as of yet. However, we have had some reports that 10.10.2 appears to fix it.

      regards;
      -rob.

  23. Rich says:

    Didn’t have any “Helpers” folder. So drilled in to the underlying folders. Found the Witch App file. Copied it into the Applications folder. Bingo, Witch showed up in the Security and Privacy wotsit. Thanks for this

    • Rob Griffiths says:

      If you didn’t have a Helpers folder, then you didn’t have the latest version of Witch installed — if you look in the About tab of Witch’s Settings panel, what is the version number/build (i.e. “Witch 3.9.4 (3197/3254)”)?

      -regards;
      -rob.

  24. Hankk says:

    This fixed it — thanks!

    One thing to mention: while the directions say to look in /Library, my witchdaemon.app was within ~/Library (personal, not system-wide). Perhaps I clicked a ‘install for this user only’ box when I first put on Witch many years ago. In any event, great software!

    • Rob Griffiths says:

      It actually only says to look there if you don’t find it in the local PreferencePanes folder, which you get to via the Option key method specified in step two of the Direct Customer instructions.

      regards;
      -rob.

  25. scarluc says:

    mmm, it seems not works for the trial version.

    • Rob Griffiths says:

      There’s no code that checks trial vs. purchased; if you download the trial from the “Download” link on our site, then no, it won’t work — because the fix isn’t in there. But if you download this version, it should work fine even without a purchased license.

      -rob.

      • Susan Beveridge says:

        Ok, so are you saying that if we downloaded the trial version from the Download link on your website the fix won’t work? So where should we download it from then? Thanks! I’m not sure what you mean by “If you download this version”. I really really really want Witch (new Mac convert here).

        • Rob Griffiths says:

          Sorry to confuse matters — my reply above is wrong. I thought I was replying to another post, not this one. The fix described above *will* work just fine for the trial version.

          -rob.

          • Susan Beveridge says:

            Well, it seems not to. I’ll go open a help ticket.

          • Susan Beveridge says:

            Actually, now it works!!! I think the necessary workaround is to open an email, type “Witch Support Request” and a long description of what is happening. No need to send the email however. The ghost in the machine then reads the email and fixes the problem!

          • Rob Griffiths says:

            If only that worked for *every* issue with all of our apps! :)

            Glad it’s working for you now, whatever the cause.

            -rob.

  26. Simon says:

    Thanks man!