Last week we released 1Password version 6 for Mac on both our website and in the Mac App Store. Major version updates are always a little scary for us, but we were hopeful because our last update went so smoothly for our customers. This time? Not so much. A small percentage of our users are experiencing issues after updating 1Password via the Mac App Store.

Some of you dutifully updated and discovered that 1Password would not respond upon launching, eventually telling you that it failed to connect to 1Password mini. This is obviously no good. We know how important 1Password is to you, and we must do whatever is in our power to make sure this kind of thing doesn’t happen.

If you were affected by this, I’m really sorry.

Rebooting Helps… Even on OS X

The good news is that the fix is super easy: A reboot will likely resolve the issue. If it doesn’t, please email us at support@agilebits.com so that we can help you get up and running again as quickly as possible.

We don’t know why this just started happening in this release. We’ve had many updates over the last few years and this is the first time that we’ve seen this happen like this.

You may be wondering why rebooting helps. Historically OS X hasn’t been known for needing reboots to solve issues, so this advice may sound peculiar. Read on to learn why.

A Tale of Two Apps

Let’s go over what we think is going on with this update and why we believe the update has gone as poorly as it has, and what we’re going to try to do about it.

1Password for Mac consists of two apps, bundled together as one: 1Password (what we like to call the Main app) and 1Password mini, which lives in your menu bar. The Main app does very little on its own; it’s dependent on 1Password mini for everything, which is why it’s critical for the main app to be able to connect to mini on launch. The vast majority of users opt to have mini always running in the background, which is the recommended approach.

Unfortunately, the mechanism that 1Password uses to talk to 1Password mini isn’t quite perfect. Both apps are bundled together, and you would think that we could have 1Password tell the system that it’d like to communicate with the version of 1Password mini that’s bundled within itself. Instead, 1Password can only say, “I’d like to communicate with the app whose unique identifier is onepassword-helper.” The operating system will then find 1Password mini (whose unique identifier looks like onepassword-helper), and if it’s not launched already, the system will launch it. This works nicely almost all of the time.

It’s…Complicated

Often times, 1Password mini is running when the Mac App Store is updating 1Password. 1Password mini includes code to detect when it has been trashed, and when that happens it attempts to terminate itself. It understands that either an update is coming and old mini should make way for new mini, or that the user is uninstalling the app—in which case it should get out of their hair. From what I’ve seen so far, it looks like this code was failing. Either the Mac App Store didn’t trash our app first, or we didn’t catch the event as we should, or we didn’t react as we should. What matters is that the old version of 1Password mini was still around.

Having an old mini running isn’t a big problem for you as a user. You’ll still be able to use mini just fine, and keep filling forms in your browser. The problems don’t start to appear until you run the main 1Password app. 1Password will ask the system to communicate with mini and the system will say “here’s a connection to [old] mini”. 1Password will say hello to mini and include a version number. 1Password mini is smart enough to compare the version numbers and refuse to communicate with a newer main app. What it should do in this situation is terminate itself. The operating system should then re-launch the new mini, and the main app should connect to it. It seems that in this case, the operating system continually relaunched the old mini, which put us into a loop.

So then why does rebooting help? Rebooting should cause the operating system to rebuild its list of apps on the system and forget that the old version of 1Password exists. It should then launch the new mini instead of the old and get us out of the loop.

Making It Better

This issue seems to have affected a small percentage of users, but that’s still more than we’re comfortable with. Let’s look at how we’re going to try to make this better in upcoming releases of 1Password for Mac.

Better Trash Detection

We have to do more research and understand why 1Password mini didn’t detect that it was going be upgraded and then terminate itself properly.

Better Communication With the User

As the 1Password main app was in this loop with the wrong mini, users were given no indication of what was going on. We need to do better here. 1Password should explain what’s going on to the user. Even just explaining that it’s attempting to connect to 1Password mini, and showing the countdown to giving up (60 seconds) would give some indication of what’s happening.

Better Detection of Multiple Instances of 1Password mini

In 1Password 5.4.3, we added code to detect multiple installations of 1Password during updates of our AgileBits Store version of 1Password. This greatly reduced the number of issues encountered while upgrading that version of the app. I think it’s time for us to run this kind of detection upon starting the main app, to catch these kinds of issues even before we ask the operating system to connect us to a mini.

We’re Here to Help

If ever you have trouble updating 1Password to a new version, or have any other kind of problem with the app, please reach out to us. We love hearing from you, and we’re here to help.

To be clear, 1Password won’t delete your data, and the vault itself is stored separately from the app. So unless it was deleted by some other means (‘cleaner’ app, or an ‘oops’) your vault is almost certainly still around, and we can help you find it (if, for example, you’ve got two different copies of 1Password with separate vaults). We’ll get to the bottom of this! :)

Thomas: I’ll admit that it’s pretty confusing. The browser extension (which you can download from Apple — though there’s a newer version at our site: https://agilebits.com/onepassword/extensions ) is run by 1Password mini. It can’t integrate with the browser without the extension installed, but mini itself is part of the app bundle that you install in your Applications folder. I hope this helps! :)

Heya, Thomas! When you click the big green button, it will download the newest version of the extension from our site, and you’ll see the version number in the filename in your Downloads folder. Then just double-click it to add it to Safari. But also just hours ago Apple updated it in their extension gallery as well, if you’d prefer to get it there:

Øyvind: I’m sorry of the trouble! That’s unfortunately a symptom of OS X clinging to the old version of 1Password like a beloved but tattered pair of pants. Just restart your Mac and you should be able to empty the Trash normally again. And if not, shoot us an email so we can help! :)

Brenty already answered you, but I read your question differently than he did. It sounds like you are unable to empty the Trash from within 1Password. If this is the case, you likely are viewing All Vaults. Try switching to a specific vault and then try emptying the trash. We plan on making it possible to empty the trash while in All Vaults view in a future update.

Hopefully between the answers Brenty and I gave you’ll be able to empty the Trash in both OS X and 1Password :)