How to commission and control Matter devices with Chip Tool

Chip Tool is an open source Matter Controller with a command-line interface (CLI). It is useful for development and testing of Matter devices from a Linux machine.

Chip Tool offers a wide range of capabilities, ranging from device commissioning and control to setup and operational payload generation and parsing.

This document guides you through setting up and configuring Chip Tool using a Snap. This makes it extremely easy to securely run and use the tool on Linux.


First and foremost, make sure to have SnapD installed. It is pre-installed on some distributions such as Ubuntu. Refer to installing SnapD for details.

Install the dependencies:

sudo apt update
sudo apt install bluez avahi-daemon

Install the Chip Tool snap:

sudo snap install chip-tool


Pre-release versions of Chip Tool are available in different channels.

Once installed, the application should be available as chip-tool on your machine.

The snap restricts the app’s access to only the necessary resources on the host. This access is managed via snap interface connections.

By default, the snap auto connects the following interfaces:

  • network to access the host network

  • network-bind to listen on a port (Chip Tool’s interactive mode)

  • avahi-observe to discover devices over DNS-SD

  • bluez to communicate with devices over Bluetooth Low Energy (BLE)

To verify the interface connections, run: snap connections chip-tool


Discover using DNS-SD and pair:

chip-tool pairing onnetwork 110 20202021


  • 110 is the node id being assigned to the device

  • 20202021 is the pin code set on the device



chip-tool onoff toggle 110 1


  • onoff is the matter cluster name

  • on/off/toggle is the command name.

  • 110 is the node id of the app assigned during the commissioning

  • 1 is the endpoint of the configured device

More reading

This documentation covered only some of common scenarios for commissioning and controlling Matter devices via Chip Tool. The project provides a guide with various usage examples.

However, for a complete list of sub-commands and options, it is best to use the tool’s usage instructions using the terminal.