Full Command Reference

MeshCore has two command surfaces. The device-side serial CLI (canonical reference: docs.meshcore.io/cli_commands) uses bare get/set verbs and is used to configure repeaters and room servers over USB serial. The host tool meshcore-cli (invoked as meshcore-cli/meshcli) connects to a companion radio over BLE, TCP, or Serial; commands can be passed on the command line or entered in interactive chat mode. The tables below note which surface each command belongs to.

Device Information & Status

CommandPurpose
infos (alias i)meshcore-cli: print node info (public key, TX power, radio params, name, location). For firmware version use ver; for battery/telemetry use self_telemetry / req_status.
stats-radio / stats-core / stats-packetsSerial CLI: radio stats (noise floor, RSSI/SNR, airtime), core stats (battery, uptime, queue), and packet counters. There is no bare status command.
contacts / list (alias lc)meshcore-cli: list known contacts (nodes you have received adverts from). Use node_discover <filter> (nd) to discover nodes by type, or neighbors on a repeater's serial CLI.
get <param>Read a setting (e.g. get radio, get name, get tx). Run get help for the parameter list. There is no config get command.

Configuration

CommandPurpose
set name <name>Set the node name (no config set prefix).
set tx <dbm>Set LoRa transmit power in dBm (valid 1–22 for SX1262). Choose a value that keeps EIRP within your region's limit — 36 dBm EIRP in the US per FCC Part 15.247. Setting too high may violate local law.
eraseRestore factory defaults. Serial-only and destructive. There is no config reset command.
set lat <degrees>Set latitude in degrees.
set lon <degrees>Set longitude in degrees.
password <new_password>Set the admin password. Any node presenting this password is added to the admin ACL.

Messaging

CommandPurpose
msg <name> <message> (alias m)meshcore-cli: send a direct message to a contact by name.
public <message> or chan <nb> <message>meshcore-cli: send to the public channel (0) or to channel number <nb>. Channel messages flood to subscribers. There is no broadcast command.
msgs_subscribe (alias ms)meshcore-cli: display messages as they arrive. Use recv (r) / wait_msg (wm) to read them, or chat mode. There is no listen command.

Network & Routing

CommandPurpose
advertTrigger immediate advertisement broadcast (flood). Use advert.zerohop for a zero-hop advert.
set flood.advert.interval <hours>Flood advert interval in hours (valid 3–168; default 12).
set path.hash.mode <0|1|2>Advert path hash size (0=1-byte, 1=2-byte, 2=3-byte; default 0). Affects only this node's own adverts, not forwarding or routing-table behaviour; requires firmware ≥ 1.14.
region put <name> [parent]Create a region. Names are user-defined (e.g. region put #USA) — there are no predefined US/state scopes. Flooding must be enabled separately.
region put <child> <parent>Create a nested region under a parent (e.g. region put #Colorado #USA). Names are user-defined, not ISO/region codes.
region saveSave region configuration.

Repeater & Room Server

CommandPurpose
set agc.reset.interval <seconds>AGC reset interval in seconds (rounded down to a multiple of 4; 0 disables). Helps with receiver desensitization.
set repeat <on|off>Enable/disable packet repeating on a repeater or room server (default on).

Firmware & Maintenance

CommandPurpose
rebootRestart the device.
start otaInitiate an over-the-air firmware update (nRF52). Otherwise flash via the MeshCore web flasher or esptool/UF2. There is no flash command.

Revision #3
Created 2026-05-03 03:00:19 UTC by Mesh America Admin
Updated 2026-06-09 14:21:23 UTC by Mesh America Admin