CLI Reference

The Merkleshare CLI lets you manage files and collections from the terminal.

Installation

Install the CLI with a single command:

curl -fsSL https://www.merkleshare.com/install.sh | bash

Or download a binary directly from the CLI download page.

Authentication

Before using the CLI, authenticate with your Merkleshare account:

ms login

This opens your browser to complete the sign-in process. Once authenticated, your credentials are stored locally.

Commands

ms login

Authenticate with your Merkleshare account. Opens your browser to complete sign-in.

$ ms login
ms logout

Sign out and clear stored credentials.

$ ms logout
ms whoami

Display your current authentication status and profile.

$ ms whoami
ms ls

List your collections.

$ ms ls
ms ls @<handle>

List another user's public collections.

$ ms ls @alice.bsky.social
ms ls <collection>

List files in a specific collection.

$ ms ls my-collection
ms create <name> [files...]

Create a new collection, optionally with files. Use --public or --unlisted to set visibility.

$ ms create "Photos" ./photo1.jpg ./photo2.png --public
ms add <collection> <files...>

Add files to an existing collection.

$ ms add my-collection ./file1.pdf ./file2.png
ms download <collection>

Download all files from a collection. Use -o to specify output directory.

$ ms download my-collection -o ./downloads
ms share <collection>

Get a shareable link for a collection.

$ ms share my-collection
ms sia <collection> <file>

Get a portable Sia URL for a file that works with other Sia-compatible apps.

$ ms sia my-collection document.pdf
ms search <query>

Search collections and files.

$ ms search "project notes"
ms feed

View the public feed of recent collections.

$ ms feed
ms update

Check for updates and install the latest version.

$ ms update

Collection identifiers

Collections can be referenced by:

  • Name — The collection's display name
  • ID — The short ID shown in ms ls output
  • Full URL — The complete collection URL

Partial ID matching is supported, so you can use the first few characters of an ID as long as it's unambiguous.