Matter Server 9: what the matter.js rewrite changes

The component that gives Home Assistant its Matter support has been rewritten from Python to matter.js. The update is automatic for most people, which is exactly why it is worth knowing what moved, what users reported afterwards, and what to check before you press update.

Updated 2026-10-07 7 min read Topic home assistant matter server 9
The Home Assistant add-on store listing the Matter Server, Mosquitto broker and OpenThread Border Router add-ons.
Addon store.png · author: Sverdlyuk · CC BY-SA 4.0 · Wikimedia Commons
In short · verified 2026-10-07

Home Assistant's Matter support now runs on matter.js. The Python Matter Server was archived on 23 June 2026 at version 8.1.2, and the Matter Server app 9.0 replaces it as a drop-in that migrates its data automatically on first start. Take a full backup before updating: the announcement describes no downgrade path.

What to remember
  1. 8.1.2 is the last Python release. The repository is archived and receives no updates or support.
  2. App 9.0 migrates on first start. No manual export, but no documented way back either.
  3. Back up before updating, and keep that backup until every Matter device has reported in.
  4. IPv6 still decides everything. The new server changes nothing about the network Matter needs.

What actually changed

Home Assistant does not talk to Matter devices itself. A separate process, the Matter Server, holds the controller and the fabric, and the Matter integration connects to it. Until 2026 that process was python-matter-server, built on the official C++ Matter SDK.

Its README now opens with a notice: the server “was rewritten and moved to matterjs-server”, version 8.1.2 “is the final version of the python-matter-server, libraries, and docker-container”, and users should migrate “as soon as possible”. The repository was archived on 23 June 2026, the same day Home Assistant announced Matter Server app 9.0.

BeforeNow
Projectpython-matter-servermatterjs-server
Built onOfficial C++ Matter SDKmatter.js (TypeScript)
LicenceApache-2.0Apache-2.0
Version8.1.2, the final releaseMatter Server app 9.0 (23 June 2026)
StatusArchived, no supportMaintained
Nothing changes about Matter itself

Your devices, the fabric and multi-admin sharing with Apple, Google or Amazon are Matter features, not features of the server. The rewrite replaces the controller software; it does not change the protocol your devices speak.

Before you press update

The announcement describes app 9.0 as a “fully compatible drop-in replacement” that will “automatically migrate your data on the first start”. That is convenient and it is also the reason to prepare: the migration happens once, without asking, and the post describes no route back to 8.1.2.

  1. Take a full backup that includes the Matter Server app, not only Home Assistant's configuration. In the announcement thread, at least one user reverted by restoring exactly that.
  2. Write down which devices are Matter. After the update you will want to confirm each one reports in, and the list is quicker to check than the device page.
  3. Check IPv6 on the host. The integration documentation asks for IPv6 set to Automatic or static under Settings, System, Network, and for IPv6 multicast to reach the host freely. A network that was marginal before will stay marginal after.
  4. Update during a quiet hour, not before you leave the house for a week.

What users report afterwards

These come from replies in the official announcement thread, not from our own testing. They are worth knowing because each has a simple first check.

ReportFirst thing to check
Some Matter devices show as unavailableGive battery and Thread devices time to report in, then confirm the Thread border router is online
Power and energy entities missing on some smart plugsWhether a later 9.0.x release mentions the device; the thread already mentions 9.0.1 and 9.0.2
Higher CPU use, quoted at 17 to 20 % on a Home Assistant Green against 3 to 5 % beforeWhether it settles after the first hours of migration and discovery
Some device types missing from the network visualisationCosmetic: control is unaffected if the entities work
Read point releases before you file a bug

The thread already mentions 9.0.1 and 9.0.2 after 9.0. When a device misbehaves after a big rewrite, the cheapest fix is often the next patch release, so update the app again before reaching for a reset.

If you run the server in your own container

People on Home Assistant Container or Core often ran the python-matter-server Docker image themselves. That image will not be updated again. The replacement, matterjs-server, is published separately under the same Apache-2.0 licence and needs Node.js 22.13 or later (24 is the version its README recommends) if you run it outside a container.

Its README describes migration from the Python storage format as supported, aims for API compatibility with the old server, and points Home Assistant users to the official app rather than a hand-rolled install. If you do not have a specific reason to self-host the controller, the app is the path the maintainers support.

Thread still needs a border router

Nothing in the rewrite removes that requirement. The Home Assistant documentation is explicit that a Thread-based Matter device needs a border router nearby and Thread credentials synced to the phone you commission from. Our Thread guide covers the failures that follow when either is missing.

Sources

Checked on 7 October 2026. Version numbers and repository status come from the GitHub API on that date.

Frequently asked

Do I have to re-pair my Matter devices?

No. The announcement says app 9.0 migrates the existing data automatically on first start, so the fabric and its devices carry over.

Can I go back to the Python server?

The announcement describes no downgrade path. Restoring a full backup taken before the update is the reliable way back.

Is the new server open source?

Yes. matterjs-server is published under Apache-2.0, the same licence as the Python server it replaces.

Does this change anything for Thread devices?

Not the requirements: a nearby Thread border router and synced Thread credentials are still needed to commission them.

Keep reading