claude-cmd: a command manager for Claude Code, not a Claude Code installer
Claude Code Commands Manager
At a glance
- What is it?
- claude-cmd is a small MIT-licensed TypeScript CLI that installs commands from a remote repository into ~/.claude/commands and manages CLAUDE.md, permissions and MCP server listings. It is a companion to Claude Code, not a replacement, and the README leaves several behaviours undocumented.
- Who is it for?
- Adopt claude-cmd if you already run Claude Code and want a single npm-installed entry point for pulling commands from the project's remote repository into ~/.claude/commands, or for generating a CLAUDE.md scaffold for Node.js, React or Python projects. Skip it if you need a tested tool: package.json still defines test as an echo that exits 1, and the README documents no rollback or uninstall path.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 18 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The gap claude-cmd fills between Claude Code and your own command files
Claude Code reads instructions from files such as CLAUDE.md and from a commands directory under ~/.claude/. Those files are plain text, so nothing forces a team to keep them consistent, and nothing stops a project from drifting into a hand-edited pile of prompts that nobody can find again. claude-cmd targets that specific gap. It is a CLI, installed through npm, whose job is to place command files, generate configuration files and report on what is already configured.
The README describes the audience indirectly: people who want "to organize and manage custom commands for Claude AI, create project-specific configurations, and handle MCP (Model Context Protocol) servers." That is a developer already using Claude Code on more than one project, not someone evaluating Claude Code itself. The tool does not talk to a model. It moves files and edits JSON and Markdown around them, which is why the whole package is described as roughly 46 kB and ships with only two runtime dependencies, @inquirer/prompts and js-yaml.
How claude-cmd works: a thin CLI over ~/.claude and a remote command index
The architecture visible in the repository is deliberately flat. package.json points the bin entry at ./dist/index.js, so the published command is a single compiled TypeScript file. The build script runs tsc and then chmod +x on that file. There is no server component and no daemon.
Commands come from two sources. The remote path searches an online repository that the README says holds 184+ commands; the local path reads from a local collection. The published package includes commands/commands.json in its files array, alongside dist, README.md and LICENSE, and there is a scripts/parse-commands.ts entry exposed as the parse-commands npm script. That layout suggests the command catalogue is generated into JSON at build or authoring time and then loaded by the CLI, which is how the README can claim dynamic content loading while keeping the installed package small.
Configuration is hierarchical. The README lists global settings at ~/.claude/settings.json, project settings at ./.claude/settings.json and local overrides at ./.claude/settings.local.json. CLAUDE.md follows the same pattern, with CLAUDE.local.md as the gitignored override. Whether the deeper files merge or replace the shallower ones is not spelled out in the README, so treat the precedence order as the documented claim and verify the merge behaviour yourself if you depend on it.
Installing claude-cmd and installing your first command
The README gives one installation route: a global npm install. There is no Homebrew formula, no standalone binary and no Docker image mentioned.
npm install -g claude-cmd@latestAfter that, running the bare command opens the interactive menu, which the README describes as the primary interface.
claude-cmdNon-interactive use goes through subcommands. The README shows list, search and install, with a --local flag that switches the search or install source from the remote repository to the local one.
claude-cmd list
claude-cmd search git
claude-cmd install git-helper
claude-cmd --local search apiSearching for git should return matching entries from the remote catalogue; installing git-helper should place that command under ~/.claude/commands. The README does not show the output of either command, so check the contents of ~/.claude/commands after the first install rather than assuming a specific file name. Version output comes from claude-cmd --version, and help from claude-cmd --help or claude-cmd -h.
Where claude-cmd is thin: tests, rollback and remote trust
The most concrete limitation is in package.json. The test script is "echo \"Error: no test specified\" && exit 1". There is no test suite in the repository listing, and the publish workflow therefore cannot be gated on one. For a tool that writes into a user's home directory, that is a real risk surface, and it is the first thing to weigh against the convenience.
The second gap is reversibility. The README documents install, list and search but never documents an uninstall or remove command, and it does not describe what happens when an installed command is overwritten by a later install of the same name. If you install git-helper and then reinstall it from a different source, the documented behaviour is silent on which copy wins.
The third is trust. Installation pulls command definitions from a remote repository. A command file is an instruction set handed to an agent that can run tools, so the security profile features (strict, moderate, permissive) matter more than they would for a static config generator. The README lists those profiles as a feature but does not document which tools each profile allows. If your threat model includes untrusted prompt content, claude-cmd is the wrong layer to solve it: it distributes the content, it does not audit it.
claude-cmd compared with hand-managed CLAUDE.md and command directories
The realistic alternative is not another CLI. It is doing the same work with a dotfiles repository and a handful of symlinks. That approach has a different failure profile: you control exactly which file lands where, review happens through normal pull requests, and there is no dependency on a remote catalogue that can change between installs. The cost is that nothing searches 184+ commands for you, nothing detects your project type, and nothing generates a starter CLAUDE.md.
A second alternative is to use Claude Code's own configuration files directly and skip the manager entirely. Everything claude-cmd writes is plain Markdown and JSON under ~/.claude/ or ./.claude/, so the output is portable: you can adopt claude-cmd, then keep using the files it produced after dropping the tool. That is a point in its favour, and also a reason not to over-invest in the CLI layer.
The difference in approach is therefore scope. claude-cmd centralises discovery and scaffolding. A dotfiles repository centralises review and reproducibility. Teams that already have the latter get less from the former.
Maintenance status, licence and upgrade cost
The repository is not archived, and the last push was on 2026-08-28, which is recent enough that the project cannot be described as abandoned on the evidence available. Releases are a different picture: 1.0.1, 1.0.2 and 1.1.0 were all published on 2025-07-25, within minutes of each other, and package.json in the repository carries version 1.1.1, which does not appear in the release list. Treat the npm version as the source of truth and check it with claude-cmd --version after installing.
Upgrade cost is low by construction. The runtime dependency set is two packages, the build is a single tsc pass, and the installed artefact is compiled JavaScript plus a JSON command catalogue. The main upgrade risk is not the code but the catalogue: a remote command index can change without any version bump on your side, so pinning the package version does not pin the commands you install.
The licence is MIT, stated in both the README and package.json. That permits commercial use and modification, and it also means the project comes with no warranty. If you redistribute a modified build, the MIT terms require the copyright notice and permission notice to travel with it. This is a summary of what the repository states, not legal advice; read the LICENSE file for the actual terms.
Editorial conclusion
Adopt claude-cmd if you already run Claude Code and want a single npm-installed entry point for pulling commands from the project's remote repository into ~/.claude/commands, or for generating a CLAUDE.md scaffold for Node.js, React or Python projects. Skip it if you need a tested tool: package.json still defines test as an echo that exits 1, and the README documents no rollback or uninstall path. Before relying on it, run claude-cmd --version against the version published on npm, and inspect what claude-cmd install actually writes under ~/.claude/commands on a throwaway machine.
Frequently asked questions
How do I install claude-cmd?
The README gives a single route: npm install -g claude-cmd@latest. After that, running claude-cmd with no arguments opens the interactive menu, and claude-cmd --help prints the available options.
How do I use claude-cmd?
Run claude-cmd for the interactive interface, or use the subcommands the README documents: claude-cmd list, claude-cmd search git and claude-cmd install git-helper. Adding --local switches search and install to the local repository instead of the remote one.
What is claude-cmd?
It is a TypeScript CLI, published on npm under the MIT licence, for managing Claude commands, CLAUDE.md configuration files, security profiles and MCP server listings. The README describes it as a companion tool for organising custom commands, not as a replacement for Claude Code.
Is claude-cmd free?
The repository states the project is licensed under the MIT License, and the package is distributed through npm. The README does not mention any paid tier, account or licence key.
Does claude-cmd replace PowerShell or a terminal on Windows?
No. The README presents claude-cmd as a manager for Claude command files, configuration and MCP servers, installed through npm and run inside whatever shell you already use. It does not describe shell or terminal functionality.
Community notes