MyClaude Docs
MyClaude Docs

Getting Started

Buyers

Creators

CLI

CLI InstallationCLI AuthenticationCLI Commands ReferenceCLI ConfigurationCLI TroubleshootingMCP Integration

API

Agent Integration

Developers

Security

Legal

CLI

CLI Commands Reference

The MyClaude CLI provides 12 commands for discovering, installing, and publishing products.

ReferenceUpdated 2026-03-25

The MyClaude CLI provides 12 commands for discovering, installing, and publishing products.

All commands are invoked via the myclaude binary. Commands that communicate with MyClaude servers require an authenticated session established with myclaude login. Commands marked Auth required return a 401 error if no valid session exists.

Command index

CommandAuth requiredDescription
loginNoAuthenticate with MyClaude
logoutNoClear stored credentials
whoamiYesPrint current authenticated user
searchNoSearch the marketplace
installYesInstall a product
uninstallNoRemove an installed product
updateYesUpdate installed products
publishYesPublish a product to the marketplace
listNoList installed products
infoNoShow details for a marketplace product
initNoScaffold a new product directory
scanNoValidate product files before publish

login

Synopsis

myclaude login [--token <token>]

Description

Opens the default browser to the MyClaude authentication page. After the user completes sign-in, the CLI receives an auth token and stores it at ~/.myclaude/credentials.json. All subsequent commands that require authentication read from this file automatically.

If a browser cannot be opened, the CLI prints a URL. Open it manually — authentication completes identically.

Flags

FlagTypeRequiredDefaultDescription
--tokenstringNo—Provide a pre-generated API token directly, skipping browser flow. Useful in CI/CD environments.

Examples

Interactive browser flow:

$ myclaude login
# Opening browser...
# Authenticated as @your-username

Non-interactive with a pre-generated token:

$ myclaude login --token eyJhbGciOiJSUzI1NiJ9...
# Authenticated as @your-username

Verify the session immediately after login:

$ myclaude login && myclaude whoami
# Authenticated as @your-username
# Logged in as @your-username

logout

Synopsis

myclaude logout

Description

Deletes the stored credentials file at ~/.myclaude/credentials.json. No network request is made — the logout is local only. Existing sessions on other devices or in other terminals are not affected.

After logout, all commands that require authentication return Error: not authenticated. Run myclaude login.

Flags

This command has no flags.

Examples

$ myclaude logout
# Logged out. Credentials removed.

Confirm the session is cleared:

$ myclaude whoami
# Error: not authenticated. Run myclaude login.

Log out and immediately back in:

$ myclaude logout && myclaude login

whoami

Synopsis

myclaude whoami

Description

Prints the username of the currently authenticated user. Makes a lightweight request to the MyClaude API to verify the stored token is still valid. Returns a non-zero exit code if the token is absent or expired.

Flags

This command has no flags.

Examples

Check current session:

$ myclaude whoami
# Logged in as @kairo

Use in a script to gate operations on an authenticated state:

$ myclaude whoami || myclaude login

Non-zero exit on missing credentials (useful in CI):

$ myclaude whoami
# Error: not authenticated. Run myclaude login.
# exit code: 1

search

Synopsis

myclaude search [query] [--category <category>] [--limit <n>] [--sort <field>]

Description

Searches the MyClaude marketplace. Without flags, returns the top 20 results ranked by relevance to the query string. Results include product handle, star rating, price, and category.

myclaude search does not require authentication. Unauthenticated users see the same results as authenticated users.

Flags

FlagTypeRequiredDefaultDescription
--categorystringNo—Filter by product category. Accepted values: skill, squad, agent, workflow, design-system, prompt, claude-md, application
--limitnumberNo20Maximum number of results to return. Range: 1–100.
--sortstringNorelevanceSort field. Accepted values: relevance, rating, downloads, price-asc, price-desc, newest

Examples

Basic keyword search:

$ myclaude search "code review"
# @kairo/review-skill      ★ 4.9   free       skills
# @dev/pr-checker          ★ 4.7   $4.00      skills
# @anya/review-workflow    ★ 4.5   $9.00      workflows

Filter to a specific category:

$ myclaude search --category agent "typescript"
# @devtools/typescript-reviewer    ★ 4.8   $9.00    agent
# @scaffold-labs/ts-scaffold       ★ 4.6   $19.00   agent

Return top 5 results sorted by rating:

$ myclaude search --sort rating --limit 5 "security"

install

Synopsis

myclaude install <@creator/product> [--version <semver>] [--force]

Description

Downloads and installs a product from the marketplace into the current environment. For free products, installation completes immediately. For paid products, the CLI opens the purchase flow in the default browser. Installation resumes automatically after payment is confirmed.

Files are placed in the directory specified by the product's vault.yaml install_path field. Category defaults:

CategoryInstall path
skill.claude/skills/<product-name>/
squad.claude/squads/<product-name>/
agent.claude/agents/<product-name>/
workflow.claude/workflows/<product-name>/
design-system.claude/design-systems/<product-name>/
prompt.claude/prompts/<product-name>/
claude-md.claude/ (merges into CLAUDE.md)
application.claude/apps/<product-name>/

myclaude install requires authentication. Attempting to install without a valid session redirects to myclaude login.

Flags

FlagTypeRequiredDefaultDescription
--versionstringNolatestInstall a specific version. Must be a valid SemVer string matching a published version of the product.
--forcebooleanNofalseOverwrite existing installation without prompting, even if the same version is already installed.

Examples

Install the latest version of a free product:

$ myclaude install @kairo/review-skill
# Installing @kairo/review-skill...
# Resolved: 1.2.0
# Installed to .claude/skills/review-skill/
# Done.

Install a specific version:

$ myclaude install @kairo/review-skill --version 1.1.0
# Installing @kairo/review-skill@1.1.0...
# Resolved: 1.1.0
# Installed to .claude/skills/review-skill/
# Done.

Install a paid product (triggers browser purchase flow):

$ myclaude install @dev/pr-checker
# @dev/pr-checker requires purchase ($4.00)
# Opening checkout... [browser opens]
# Payment confirmed. Downloading...
# Installed to .claude/skills/pr-checker/
# Done.

uninstall

Synopsis

myclaude uninstall <@creator/product> [--yes]

Description

Removes an installed product from the local environment. Deletes all files placed by myclaude install in the product's install directory. Does not affect marketplace listings or purchase records — reinstalling the product after uninstall does not require repurchasing it.

myclaude uninstall does not require authentication because it only modifies the local filesystem.

Flags

FlagTypeRequiredDefaultDescription
--yesbooleanNofalseSkip the confirmation prompt. Useful in scripts.

Examples

Interactive uninstall with confirmation prompt:

$ myclaude uninstall @kairo/review-skill
# Remove @kairo/review-skill and all its files? [y/N]: y
# Uninstalled @kairo/review-skill
# Removed: .claude/skills/review-skill/

Skip confirmation in a script:

$ myclaude uninstall @kairo/review-skill --yes
# Uninstalled @kairo/review-skill

Uninstall and reinstall to reset to a clean state:

$ myclaude uninstall @kairo/review-skill --yes && myclaude install @kairo/review-skill

update

Synopsis

myclaude update [<@creator/product>] [--all] [--dry-run]

Description

Updates one or more installed products to their latest published versions. When called with a specific product handle, updates only that product. When called with --all, updates every installed product that has a newer version available.

Products that are already at their latest version are skipped silently. If a newer version introduces breaking changes, the CLI prints a warning but proceeds unless --dry-run is used.

Flags

FlagTypeRequiredDefaultDescription
--allbooleanNofalseUpdate all installed products that have newer versions available. Mutually exclusive with specifying a product handle.
--dry-runbooleanNofalsePrint which products would be updated and to which versions, without making any changes.

Examples

Update a single product:

$ myclaude update @kairo/review-skill
# @kairo/review-skill: 1.2.0 → 1.3.0
# Updated.

Preview all available updates without applying them:

$ myclaude update --all --dry-run
# @kairo/review-skill    1.2.0 → 1.3.0
# @dev/pr-checker        0.9.1 → 1.0.0
# 2 updates available. Run without --dry-run to apply.

Apply all available updates:

$ myclaude update --all
# @kairo/review-skill    1.2.0 → 1.3.0   updated
# @dev/pr-checker        0.9.1 → 1.0.0   updated
# 2 products updated.

publish

Synopsis

myclaude publish [--dry-run] [--tag <tag>]

Description

Publishes the product in the current working directory to the MyClaude marketplace. The CLI reads vault.yaml from the current directory, runs validation and content scanning, uploads files to MyClaude storage, and creates or updates the marketplace listing.

Publish is idempotent. Running myclaude publish on a product that already exists updates the listing. To publish a new version, increment the version field in vault.yaml before running myclaude publish — the CLI enforces monotonically increasing versions and rejects a publish if the version in vault.yaml is equal to or lower than the currently published version.

The pre-publish pipeline runs in order:

  1. Validate vault.yaml structure and all required fields
  2. Scan product files for content policy violations
  3. Verify authentication and that author matches the authenticated user
  4. Upload files to MyClaude storage
  5. Create or update the marketplace listing

If any step fails, the pipeline stops and the listing is not created or modified. Errors include the specific field or rule that failed.

Flags

FlagTypeRequiredDefaultDescription
--dry-runbooleanNofalseRun all validation and scanning steps without uploading files or modifying the listing.
--tagstringNo—Attach a distribution tag to this version (e.g., beta, rc). Tagged versions are not returned as latest by default.

Examples

Standard publish from inside a product directory:

$ myclaude publish
# Validating vault.yaml... OK
# Scanning content... OK
# Uploading files... OK
# Creating listing... OK
#
# Published: myclaude.sh/p/your-username-my-first-skill

Validate without publishing:

$ myclaude publish --dry-run
# Validating vault.yaml... OK
# Scanning content... OK
# Dry run complete. No files uploaded.

Publish a pre-release version with a tag:

$ myclaude publish --tag beta
# Validating vault.yaml... OK
# Scanning content... OK
# Uploading files... OK
# Creating listing (tag: beta)... OK
#
# Published: myclaude.sh/p/your-username-my-first-skill (beta)

list

Synopsis

myclaude list [--category <category>] [--json]

Description

Lists all products currently installed in the local environment. Output includes the product handle, installed version, category, and install path. Products are sorted alphabetically by handle.

myclaude list does not require authentication. It reads only from the local install registry at ~/.myclaude/installed.json.

Flags

FlagTypeRequiredDefaultDescription
--categorystringNo—Filter listed products by category. Accepted values match vault.yaml category enum.
--jsonbooleanNofalseOutput the list as a JSON array. Useful for scripting and tooling integrations.

Examples

List all installed products:

$ myclaude list
# Installed products (2)
#   @kairo/review-skill    1.2.0   skill    .claude/skills/review-skill/
#   @dev/pr-checker        0.9.1   skill    .claude/skills/pr-checker/

Filter by category:

$ myclaude list --category skill
# Installed products — skill (2)
#   @kairo/review-skill    1.2.0   .claude/skills/review-skill/
#   @dev/pr-checker        0.9.1   .claude/skills/pr-checker/

Machine-readable JSON output for use in scripts:

$ myclaude list --json
# [
#   { "handle": "@kairo/review-skill", "version": "1.2.0", "category": "skill", "path": ".claude/skills/review-skill/" },
#   { "handle": "@dev/pr-checker",     "version": "0.9.1", "category": "skill", "path": ".claude/skills/pr-checker/"  }
# ]

info

Synopsis

myclaude info <@creator/product> [--version <semver>] [--json]

Description

Fetches and displays metadata for a marketplace product. Output includes the product handle, description, category, current version, all published versions, author, license, price, star rating, and download count.

myclaude info does not require authentication and makes a read-only request to the public marketplace API. It does not modify any local state.

Flags

FlagTypeRequiredDefaultDescription
--versionstringNolatestShow metadata for a specific published version instead of the latest.
--jsonbooleanNofalseOutput the full metadata object as JSON.

Examples

Show details for the latest version:

$ myclaude info @kairo/review-skill
# @kairo/review-skill
# Description:  Performs systematic code review with security and style analysis.
# Category:     skill
# Version:      1.2.0
# Versions:     1.0.0, 1.1.0, 1.2.0
# Author:       @kairo
# License:      MIT
# Price:        free
# Rating:       ★ 4.9 (312 reviews)
# Downloads:    8,441

Show metadata for a specific version:

$ myclaude info @kairo/review-skill --version 1.1.0
# @kairo/review-skill@1.1.0
# ...

Output as JSON for programmatic use:

$ myclaude info @kairo/review-skill --json
# { "handle": "@kairo/review-skill", "version": "1.2.0", "category": "skill", ... }

init

Synopsis

myclaude init <product-name> [--category <category>] [--author <username>]

Description

Scaffolds a new product directory with the required files for the specified category. If --category is not provided, defaults to skill. The directory is created in the current working directory with the name given as the first argument.

Generated files are pre-populated with placeholder content and comments explaining each field. No files are uploaded and no network requests are made — myclaude init operates entirely locally.

Default files by category

CategoryFiles created
skillvault.yaml, SKILL.md
squadvault.yaml, SQUAD.md
agentvault.yaml, AGENT.md
workflowvault.yaml, WORKFLOW.md
design-systemvault.yaml, DESIGN-SYSTEM.md, tokens.css
promptvault.yaml, PROMPT.md
claude-mdvault.yaml, CLAUDE.md
applicationvault.yaml, APP.md

Flags

FlagTypeRequiredDefaultDescription
--categorystringNoskillProduct category to scaffold. Determines which files are created and the vault.yaml template used.
--authorstringNoCurrent authenticated usernamePre-fill the author field in vault.yaml. If not authenticated, defaults to an empty placeholder.

Examples

Scaffold a skill (default category):

$ myclaude init my-review-skill
# Created my-review-skill/
#   vault.yaml
#   SKILL.md

Scaffold an agent:

$ myclaude init typescript-agent --category agent
# Created typescript-agent/
#   vault.yaml
#   AGENT.md

Scaffold with author pre-filled:

$ myclaude init my-workflow --category workflow --author kairo
# Created my-workflow/
#   vault.yaml
#   WORKFLOW.md

scan

Synopsis

myclaude scan [path] [--strict] [--json]

Description

Runs the content policy scanner on a product directory without publishing. Detects content that would fail the pre-publish pipeline: policy violations, malformed vault.yaml, missing required files, and version constraint errors.

When called without a path argument, scans the current working directory. When a path is provided, scans that directory.

myclaude scan is a strict superset of the validation step that runs inside myclaude publish. Running myclaude scan before myclaude publish guarantees that the publish pipeline will not fail on validation or scanning errors. It does not guarantee that the upload or listing creation steps will succeed.

myclaude scan does not require authentication and does not make any network requests. It operates entirely on local files.

Flags

FlagTypeRequiredDefaultDescription
--strictbooleanNofalseTreat warnings as errors. A warning-only scan exits with code 0 normally; with --strict it exits with code 1.
--jsonbooleanNofalseOutput scan results as JSON. Includes arrays for errors, warnings, and info messages.

Exit codes

CodeMeaning
0Scan passed with no errors. Warnings may be present.
1Scan found one or more errors. Publish would fail.
1Scan found warnings and --strict was set.

Examples

Scan the current directory:

$ myclaude scan
# Scanning ./ ...
# Validating vault.yaml... OK
# Checking required files... OK
# Running content policy... OK
# Scan complete. No issues found.

Scan a specific path and treat warnings as errors:

$ myclaude scan ./my-review-skill --strict
# Scanning ./my-review-skill/ ...
# Validating vault.yaml... OK
# Checking required files... OK
# Running content policy...
#   WARNING: description is 158/160 characters. Consider shortening.
# Strict mode: 1 warning treated as error.
# exit code: 1

Machine-readable output for CI integration:

$ myclaude scan --json
# {
#   "passed": true,
#   "errors": [],
#   "warnings": [
#     { "field": "description", "message": "158/160 characters. Consider shortening." }
#   ]
# }

Global flags

These flags are accepted by every command.

FlagTypeDefaultDescription
--help, -hbooleanfalsePrint usage information for the command and exit.
--version, -vbooleanfalsePrint the CLI version and exit.
--quiet, -qbooleanfalseSuppress all output except errors. Useful in scripts.
--no-colorbooleanfalseDisable ANSI color codes in output. Set automatically when NO_COLOR environment variable is present.

Exit codes

CodeMeaning
0Command completed successfully
1General error (validation failure, file not found, etc.)
2Authentication error (not logged in, token expired)
3Network error (API unreachable, timeout)
4Permission error (attempting to publish as a different author, etc.)

Related pages

  • CLI Installation — install the CLI and set up authentication
  • vault.yaml Specification — complete field reference for product manifests
  • Publishing Your First Product — step-by-step publish tutorial
  • Installing Products via CLI — buyer walkthrough for install and manage

CLI Authentication

How the MyClaude CLI authenticates with Firebase Auth, stores credentials securely, and manages sessions.

CLI Configuration

Reference for all MyClaude CLI configuration: config.json settings, environment variable overrides, and precedence rules.

On this page

Command indexloginlogoutwhoamisearchinstalluninstallupdatepublishlistinfoinitscanGlobal flagsExit codesRelated pages