Skip to content

Commands

Builder Bob edited this page Jun 23, 2026 · 6 revisions

Slash Commands

Crow supports slash commands typed into the message composer. These commands control channels, groups, storage, APRS backends, and other node functions.


General Commands

/help

Show the built-in help text listing available slash commands.

/restart

Restart the Crow service. The node disconnects briefly, then reconnects to all backends.

Example:

/restart

Use this after editing /etc/crow.conf.override to apply configuration changes.

/debug

Show Crow's current state and recent log output.

Output includes:

  • Crow version and build date
  • Configuration status (loaded, OK, or error)
  • Selected backends (UDP vs. API) for Meshtastic, MeshCore, etc.
  • Active APRS backends and their connection status
  • MeshIP (AREDN) routing state
  • Last ~50 lines of the Crow service log
  • Strict Gatekeeper status and active ACLs

Example:

/debug

Use this to verify backend selection and diagnose connection issues.


Join / Leave Commands

/join #name

/join %name

/join #name key=passphrase

Join or create a channel.

  • #name creates or joins a shared-key channel (Meshtastic + MeshCore + AREDN).
  • %name creates or joins an AREDN-only channel using the unencrypted og== key.
  • #name key=passphrase derives a 32-byte AES key from the passphrase via SHA-256 and creates the channel with that key. The passphrase is used once and never stored.

Key drop examples

/join #TacNet key=OurFieldDayKey2026
/join #Emergency key=ARES-Region5-Key

The derived key replaces the default name-based key. Both sides must use the same passphrase to communicate. A warning is shown confirming the key was derived and not stored.

/join #name CALL1 CALL2 message

Create or update an APRS group, create the corresponding AREDN-only channel, and send an initial message to the listed callsigns.

Callsigns must contain at least one digit (e.g. KN6PLV, KJ6DZB-4). Plain words are treated as message text.

Example:

/join #TacNet KN6PLV KJ6DZB-4 radio check

/join #name backend=NAME CALL1 CALL2 message

Same as above, but binds the APRS group and channel to a specific named backend.

Example:

/join #TacNet backend=direwolf1 KN6PLV KJ6DZB-4 radio check

/leave #name

Leave a channel and remove the matching APRS group if one exists.

/leave #TacNet

Discovery Commands

/cmd discover

/cmd discover meshcore

/cmd discover meshtastic

List channels and groups discovered from connected radios.

  • No argument or all — show everything.
  • meshcore — MeshCore groups only (auto-discovered from radio memory slots 0–7).
  • meshtastic — Meshtastic hash channels only.

Each discovered channel is shown with a clickable /join link.

Example output:

Discovered Channels

═══ MeshCore Groups ═══
Slot 0: TacNet (16-byte key)
  /join TacNet
Slot 1: Emergency (32-byte key)
  /join Emergency

═══ Summary ═══
MeshCore: 2 discovered groups

/cmd info <namekey>

Show details for a specific channel: key size, backend, telemetry status, and MeshCore slot index (if applicable).


Group Commands

/groups

List all configured APRS groups and their members.


Channel Commands

/channels

/channels local

List public channels visible on the local AREDN network. Channels you can join are clickable.

/channels world

List public channels visible across the wider mesh network (requires a bridge node). Falls back to local channels if no bridge is available.

/channels join <name> [key]

Join a channel by name. Channels prefixed with # generate their key automatically from the name. Channels prefixed with % use the open key. Other channels require an explicit key.

Examples:

/channels join #mychannel
/channels join %public
/channels join MyChannel base64keyhere==

/channels leave <name>

Leave a channel by name.

/channels leave #mychannel

Storage Commands

These commands manage where Crow stores messages, images, and Winlink forms. See USB Storage for full setup instructions.

/storage status

Show current storage state: mode (internal/usb/degraded), root directory, image directory, mountpoint, and USB port availability.

/storage usb scan

Detect removable USB storage devices attached to the node. Lists device path, model, size, and mount status.

/storage usb enable

Mount and activate USB storage. Auto-detects the first removable USB drive, mounts it, creates the required directories, and migrates existing data.

/storage usb disable

Return to internal node storage. The USB drive is not unmounted or erased.

/storage quota images <mb>

Set the image storage quota in megabytes (1–65536). Oldest images are pruned when the quota is exceeded.

/storage quota images 128

APRS Commands

/backend / /backends

List all configured APRS backends with their names, types, and connection status. Both forms are aliases. See APRS for full configuration.


Export Commands

/export

/export text

/export csv

Export the current selected channel's message log.

  • Default format is plain text.
  • CSV export uses timestamp, from, and message fields.
  • Requires a selected channel with at least one message.

APRS Chat Commands

APRS messages are sent on the configured APRS channel (typically APRS og==). These are typed as regular messages (no leading slash), not slash commands.

Syntax Description
@CALL-SSID message Send a direct APRS message to a station
#groupname message Send to all members of a configured group
#groupname CALL1, CALL2 message Send to an inline list of stations
join #groupname CALL1, CALL2 message Create/update a group and send
join #groupname backend=NAME CALL1 CALL2 message Create/update a group bound to a specific backend and send

See APRS for full configuration and backend setup.

Crow Wiki

Pages

Markdown files

  • APRS.md
  • Backend-Selection-and-Deployment.md
  • Change-Log.md
  • Command-Reference.md
  • Configuration.md
  • Configuring-Channels.md
  • Home.md
  • LoRa-Gateway-Tags.md
  • Meshtastic-API.md
  • Memory-Use.md
  • Strict-Gatekeeper.md
  • USB-Storage.md
  • Winlink.md
  • _Sidebar.md

Maintenance

  • Keep every .md wiki page linked here.
  • Keep Home.md and _Sidebar.md in sync.
  • When a wiki page is removed, remove it from both the Home page inventory and this sidebar.

Clone this wiki locally