Couldn't obtain plugin principle class ERROR

What causes this? How to fix?

Grateful for any help with this one.

These are plugins from You might want to reinstall them. Are you running an M1 Mac?

1 Like

Oh, if this is the issue, we also have a guide on running RapidWeaver on an M1 Mac here:

Yes, I am on a new M1 Mac mini running Big Sur (11.2.3) with Rapidweaver 8.8.1.
The plugins which are not loading with the error are PlusKit 4.2.1 and Accordion 1.9.2 — the most recent I can find.
They are in RW’s Addons folder, but won’t appear in RW’s Add menu.

I notice that plugins seem to reside in two locations:
Inside RapidWeaver’s package Contents:

but also in
Containers/ Support/Addons/Plugins

I don’t understand why, or which location is used by RW.

Also don’t know what the message “Couldn’t obtain plugin principal class” means.

Any suggestions?

Follow the instructions in @dan’s post above. Many plugins aren’t M1-compatible, so you need to run RW in Rosetta

1 Like

Just this minute discovered that, activated Rosetta for RW and the plugins seem to work.
A disappointment that this means I will not enjoy the increased performance of the M1.
I hope that we will soon have updates for the non M1-compatible addons — but unlike apps, there seems to be no indication via get info to let a user know this compatibility status.
Is there any other way to tell — other than trial-and-error?

Thanks for the help.

The forum thread posted here a couple times has a post from me (second post in the thread) that has some schedules of when to expect releases of some of these other plug-ins. I think it answers some of your questions. At the risk of repetition, I’ll repost it anyway…

Is there any other way to tell — other than trial-and-error?

Apple did build a nice way to tell if an app is universal – but unfortunately not for things other than apps. For an app, you can Get Info in the Finder. Look for “Universal”, “Intel”, or “Apple Silicon” at the end of “Kind:” property. But with other bundles, like RapidWeaver plug-ins, frameworks, etc. it won’t show the architecture.

You can still find out, but it takes technical know-how and a terminal command. I mean, YUCK!!! Right!?

Still interested? Somehow I doubt it… but I’ll keep going, just in case someone’s interested.

Open Terminal and use the “file” command. But you have to run it on the actual binary inside the plug-in’s bundle. Here’s what it looks like for Stacks:

% file Stacks.rapidweaverplugin/Contents/MacOS/Stacks
Stacks.rapidweaverplugin/Contents/MacOS/Stacks: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit bundle x86_64] [arm64]
Stacks.rapidweaverplugin/Contents/MacOS/Stacks (for architecture x86_64):	Mach-O 64-bit bundle x86_64
Stacks.rapidweaverplugin/Contents/MacOS/Stacks (for architecture arm64):	Mach-O 64-bit bundle arm64

Notice for Stacks it says “universal” and lists both architectures. Non-universal plug-ins show only the x86_64 line. As far as I know this is the easiest way to tell if a non-app is universal.

Does anyone know of an easier way?
This is not a rhetorical question. I have to do this A LOT. It would sure save me an awful lot of time if it were easier.


I am having this issue with Pluskit (YourHead) and DateLoom (YabDab, but not supported). The plugins do not load, with the principal class error. I am on a new M1 Mac and Rosetta IS installed — I have tried reinstalling the plugins but these plugins still will not work :frowning:

You will have to tell the Mac to run RW in the simulation mode, besides installing Rosetta. Click on the RW icon in the Finder and select Get Info. Make sure you selected this box:


1 Like

Ah, brilliant, thanks! Had not spotted that.

1 Like

RapidWeaver 8.8 is universal for M1. There’s more info about that, including a complete rundown of all of our plugins and timeframes for upcoming releases, how to use non-universal plug-ins, etc.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.