Using Element with Claude

Claude, our AI assistant, can read and post in our Element (Matrix) rooms at matrix.nearlyfreeenergy.com as you. It does this through the "nfe-element" skill. This page covers the one-time setup, including the device-verification step that trips people up, and how to use it well.

What Claude can do in Element

Everything is posted under your name, and Claude only sees the rooms you're in. Claude shows you the exact text and waits for your yes before posting.

One-time setup

The skill is already set up for everyone in our Claude organisation, so there's nothing to install. You need to do three things once on each computer: install the Matrix library, log in, and verify the new session.

1. Install the Matrix library

Ask Claude to "set up the nfe-element skill". It installs the Matrix library into its own private Python environment at ~/.config/nfe-element/venv.

2. Log in

Claude gives you a login command to run in a terminal. Press Enter to accept the NFE homeserver, then enter your Matrix ID (@first.last:matrix.nearlyfreeenergy.com) and your password. Type the password yourself in the terminal, never in the chat. Only a login token is kept, in ~/.config/nfe-element/credentials.json, readable by you alone.

Posting in rooms works as soon as you've logged in.

3. Verify the new session (needed to read encrypted rooms)

Most of our rooms, including product, general and learning, are encrypted. Until you verify Claude's session, it cannot read new messages there; they show as [undecryptable …].

Don't use emoji verification. It doesn't work with this skill. Tapping Verify by emoji on the phone (or in Element Desktop) never completes: Claude's session cannot respond to it, and Element quietly gives up. Use manual verification instead:

  1. Ask Claude to run the nfe-element whoami command. It prints a line like: /verify ABCDEFGHIJ abc123…fingerprint…xyz
  2. Open Element Desktop or app.element.io. Not the phone app, which doesn't support this command.
  3. Paste that line into the message box of any room and press Enter. It's a command, so nobody else sees it.
  4. Element confirms the session is verified. Under Settings → Sessions, claude-nfe-element now shows a green shield.

The fingerprint isn't secret. It's the public key of Claude's session on your computer.

What to expect

Keeping your account safe

Troubleshooting

What you see What to do
matrix-nio is missing The library isn't installed for the Python running the script. Ask Claude to use ~/.config/nfe-element/venv/bin/python.
externally-managed-environment from pip Homebrew Python blocks pip --user. Install into the venv (step 1).
No available formula with the name "libolm" Expected. libolm isn't needed any more (step 1).
Verify by emoji closes or never shows emoji Expected. Use manual /verify from Element Desktop or the web (step 3).
/verify isn't recognised You're on the phone app. Use Element Desktop or app.element.io.
Encrypted messages show [undecryptable …] Either the session isn't verified yet (step 3), or the message is older than your login.
"Not logged in on this machine" Run the login step (step 2).
Someone wasn't notified when Claude named them Their name went out as plain text. Ask Claude to tag them; from version 0.1.3 the skill sends a real mention.
Claude has two skills called nfe-element You have a personal copy as well as the organisation's. Remove your personal copy in Claude's skills settings, so the organisation version is the only one.

For admins

Last reviewed: 22 October 2026 by Aaron Tushabe (macOS setup, manual verification, mentions in 0.1.3)


Revision #3
Created 2026-10-22 13:50:35 UTC by aaron.tushabe
Updated 2026-10-23 00:21:07 UTC by aaron.tushabe