Appearance
Changelog
Every release of the CointMU CLI published to npm as cointmu-cli, newest first. Dates are npm publish dates (UTC).
Latest
| Version | Codename | Released |
|---|---|---|
| 1.7.4 | Aurora | 2026-11-04 |
Upgrade an existing install:
bash
cmu updateInstall, or repair an install that cmu update cannot fix:
bash
npm install -g cointmu-cli@latestWARNING
Install cointmu-cli only. The unscoped cmu-cli package on npm belongs to an unrelated project and is not this CLI. Both install a cmu command, so check with cmu version that the codename and version match this page.
INFO
On 1.3.2 or older, cmu update installs from git, which npm 12 refuses with EALLOWGIT. Run npm install -g cointmu-cli@latest once; from then on cmu update installs from the registry. See Install Failures.
This table is updated by hand with each release. To see what the registry holds right now, run npm view cointmu-cli version; to see what you have installed, run cmu version.
Breaking Changes and Removals
| Version | Change | What to do |
|---|---|---|
| 1.7.4 | A folder without its own .cmu-session uses ~/.cmu-session, and cmu wallet use there writes ~/.cmu-session. | Check with cmu wallet info (Session file). For a session in one folder only, use cmu wallet use <name> --local. |
| 1.6.0 | cmu wallet login and cmu wallet create --login removed. Both exit 1 before any prompt. | cmu wallet save <name> then cmu wallet use <name>, or cmu wallet create --save <name> then cmu wallet use <name>. |
| 1.3.8 | cmu explorer returns as a different command: read-only block and contract lookups over RPC. | cmu explorer --block <number> or cmu explorer --contract <address>. See cmu explorer. |
| 1.3.7 | cmu create -t nft no longer resolves. | Use cmu create -t erc721. |
| 1.3.7 | cmu explorer open removed. It always opened http://localhost:3000, whatever the project configured. | Open your explorer URL directly. |
| 1.3.6 | cmu deploy, cmu compile and cmu test ask before running project code. Without a terminal they exit 1. | Pass -y, --yes in CI and other non-interactive runs. |
| 1.3.5 | Node.js 18 is no longer supported. | Upgrade Node.js. See Node.js Requirements. |
| 1.3.3 | New session passwords must be at least 12 characters (was 6) and pass a strength check. Existing sessions still open. | Choose a longer password the next time you create a session. |
| 1.3.2 | Sessions are encrypted with AES-256-GCM. A .cmu-session written by 1.3.1 cannot be opened. | Create the session again. On 1.6.0 that is cmu wallet save <name> then cmu wallet use <name>. |
Deprecations
| Deprecated in | Feature | Replacement | Removal |
|---|---|---|---|
| 1.5.0 | cmu wallet login, cmu wallet create --login | cmu wallet save + cmu wallet use, cmu wallet create --save | Removed in 1.6.0 |
| 1.3.6 | cmu network --save, --use, --list, --delete flags | cmu network save, use, list, delete subcommands | Not scheduled |
The network flags still work and print a deprecation warning naming the replacement. Until 1.7.1 the warning said they would be removed in 2.0.0; since 1.7.2 it names no removal release. See Deprecated Flags.
Node.js Requirements
| From | Requirement |
|---|---|
| 1.3.7 | Node.js 20.12.0 or newer. cmu node start and cmu test need Node.js 22 or newer. |
| 1.3.5 | Node.js 20 or newer, checked at startup with a readable error instead of a failure mid-command. |
| 1.3.1 | Node.js 18 or newer. |
1.7.4 — Aurora
Released 2026-11-04.
- Added a global session,
~/.cmu-session. Every folder without its own.cmu-sessionuses it; a folder's.cmu-sessionstill overrides it there.cmu wallet use <name>writes the session file in effect, so in a folder without one it now writes~/.cmu-sessioninstead of creating./.cmu-session. An existing~/.cmu-session, written by runningcmu wallet usein the home folder, becomes the global session without a prompt. See Session File. - Added
cmu wallet use <name> --localwrites this folder's.cmu-session, creating the override. See Which File It Writes. - Added after
cmu create,cmu compileorcmu testsucceeds in a terminal, a notice on stderr when a newercointmu-cliis published. It checks the registry at most once a day in the background. Turn it off withCMU_NO_UPDATE_CHECK=1orNO_UPDATE_NOTIFIER. See Update Notice. - Changed messages about the session name the file,
~/.cmu-sessionor./.cmu-session:cmu wallet useends with aSession:line,cmu wallet infoshowsSession file,cmu network usenames the file it wrote, and thecmu wallet transfersummary,wallet save --session,wallet deleteand the replace warnings name it too. A replaced~/.cmu-sessionis kept as~/.cmu-session.bak-<time>. - Changed
cmu network deletealso refuses a network that~/.cmu-sessionhas selected, not only the one in the current folder's session, and names each file. After a delete it reminds you that another folder's.cmu-sessionis not checked. See cmu network delete. - Changed the bundled Solidity compiler is 0.8.38 (was 0.8.37), and
cmu node startandcmu testrun on Hardhat 3.21.2 (was 3.19.0).cmu versionreports the compiler.
1.7.3 — Monsun
Released 2026-10-19.
- Fixed on Windows,
cmu create,cmu test,cmu deploywith TypeScript scripts,cmu auditandcmu updatefailed withspawn EINVALorENOENT, because current Node.js refuses to start npm's.cmdshims without a shell. They now run npm's ownnpm-cli.js/npx-cli.jswith the Node.js runningcmu, still without a shell. Not verified on Windows for these docs; checked on Linux only. - Fixed
cmu auditexits1withnpm could not be started: ...when npm or npx cannot start, instead of printing bothreported issueswarnings,Audit complete.and exiting0. See cmu audit. - Fixed
cmu updatesaysnpm could not be started: ...with a hint when npm cannot start, instead of the bare spawn error.
1.7.2 — Halo
Released 2026-10-18.
- Changed
cmu network ping,cmu wallet balanceandcmu mine start,stopandstatuscheck the endpoint first, likecmu deploy --ping: they printPinging <url>...andConnected to '<name>' (chain ID <id>)., and an unreachable node fails within 3 seconds withRPC endpoint <url> is unreachable (timed out after 3000ms).instead of ethers' retry notice and raw error.cmu wallet balanceno longer printsConnecting to <name> (<url>).... - Changed RPC URLs are masked wherever they are printed, errors and
-voutput included: the password, a lone username and every query value become***. A key in the URL path is not masked. See Credentials in RPC URLs. - Changed
~/.cmu-networks.jsonis written with0600permissions and replaced atomically. A file written0644by an oldercmuis tightened on its next write. - Changed
cmu network delete localis refused:network 'local' is the built-in fallback and cannot be deleted.cmu wallet usewarns when it falls back to alocalthat is not saved. - Changed
cmu mine statusshowsEtherbase : n/aon a node without the miner API, such as the DevNet, instead of its placeholder address markedrewards go there. Block ages over a day are shown in days (d). - Changed
Ctrl+CorCtrl+Dat a prompt ofcmu wallet save,create --save,useordeleteexits with what was left alone, such asaborted: nothing was saved., instead of inquirer'sUser force closed the prompt with SIGINT. See cmu wallet. - Changed the
cmu network --save,--use,--listand--deletedeprecation warning no longer says the flags will be removed in 2.0.0. No removal release is scheduled. - Changed
cmu versionandcmu --versiontake about 0.1 s instead of about 1 s: the solc and ethers versions are recorded at build time. - Fixed color codes follow
NO_COLORandFORCE_COLOR, and are no longer written to pipes and files. See Color Output.
1.7.1 — Lightning
Released 2026-10-15.
- Changed
cmu wallet useasks before replacing a.cmu-sessionit cannot open (written by cmu 1.3.1 or older) or parse, and on yes keeps a copy as.cmu-session.bak-<time>. Before, it replaced such a file without asking.cmu wallet save --sessionexplains such a file instead of saying it holds no key. See Sessions cmu Cannot Open. - Changed projects from
cmu createalso ignore.cmu-session.*.tmpand.cmu-session.bak-*. - Fixed
cmu deployandcmu consoleexit1withcannot prompt for the session password in a non-interactive session.when they need the session password and stdin is not a terminal, instead of waiting forever. - Fixed
cmu mine startandcmu mine statuswork on a geth node with no etherbase set;statusshowsEtherbase : none set. Before, both failed with a rawcould not coalesce error.
1.7.0 — Rainbow
Released 2026-10-15.
- Added a coin symbol per saved network:
cmu network save <url> --name <name> --symbol <SYMBOL>, 1-11 letters or digits, stored as typed. Saving again without--symbolkeeps it, and the output sayssymbol <SYMBOL> kept. See Coin Symbol. - Changed
cmu wallet balance,cmu wallet transfer,cmu mine statusand thecmu mine start --watchstatus line label amounts with the active network's symbol instead of alwaysETH.cmu network infogains aSymbolline. - Changed a new
~/.cmu-networks.jsonlabelslocalasCMU. Existing files are not migrated: networks saved without a symbol, including an olderlocal, still showETH. Runcmu network save http://127.0.0.1:8585 --name local --symbol CMUto switch. - Changed
cmu explorer --contractprints the balance with a unit:networks.<name>.symbolfromcmu.config,ETHif unset,CMUwithout a config. Projects fromcmu creategetsymbol: "CMU"on both networks. An invalidsymbolincmu.configstopscmu explorer,cmu consoleandcmu deploy, like a missingurl. See Coin Symbol in cmu explorer. - Changed
cmu node startlists its accounts as100 CMU each. - Changed the
cmu wallet transferamount errors no longer name a coin, since the amount is checked before the network is known, and its help readsSend the network's native coin from the session wallet.
The symbol is only a label: amounts keep 18 decimals and no value changes.
1.6.0 — Cirrus
Released 2026-10-13.
- Removed
cmu wallet loginandcmu wallet create --login, deprecated since 1.5.0. Both exit1and printremoved; use wallet save + wallet use (or wallet create --save). A.cmu-sessionwritten byloginkeeps working with its password. See Removed: wallet login.
1.5.3 — Sagu
Released 2026-10-13.
- Changed
cmu testasks for confirmation up front and lists every file intest/it is about to run, not just the config file. - Changed
cmu console --no-signeruses the read-only trust prompt, and itsSignerline readsnone (--no-signer). - Changed after a transfer that was not confirmed in time,
cmu wallet transfergives a hint that depends on whether the node has a miner API and is mining, instead of always suggestingcmu mine start. - Changed a wrong session password now points at checking the password or
cmu wallet use <name>, notcmu wallet login. - Changed without a terminal, wallet prompts say
run this in a terminal.; onlywallet loginstill suggestsPRIVATE_KEY. - Fixed
cmu node connectprints the saved network name instead ofunknown. - Fixed the error for a network with no
urlnames the network and the config file that was loaded. - Fixed the no-miner-API error from
cmu minenames the network.
1.5.2 — Papeda
Released 2026-10-13.
- Added
cmu wallet save <name> --sessioncopies this project's encrypted session key into~/.cmu-wallets.jsonwithout decrypting it. It is the only way to keep a key made bycreate --login, which was never printed. See Saving the Session Key. - Changed
cmu wallet login,cmu wallet create --loginandcmu wallet useask before replacing a session key that is not saved as a named wallet. The default is no; without a terminal they refuse. - Fixed
.cmu-sessionis written atomically, so an interrupted write no longer leaves a truncated file.
1.5.1 — Rawon
Released 2026-10-13.
- Added
cmu deployrecords the contracts its scripts created indeployments/<network>/<Contract>.json, and prints a summary. Factory-created contracts and contracts deployed with another key are not seen. See Deployment Records. - Added
getDeployed(name)incmu consoleloads a recorded contract after checking the chain still matches the record. See Loading a Deployed Contract. - Added
cmu explorer --contractlabels an address that a deployment record names. - Changed
cmu compilealso writesdeployedBytecodeto its artifacts. Recompile older artifacts before usinggetDeployed. - Changed projects from
cmu createno longer have deploy scripts that writedeployments/<Contract>.json, and their.gitignoreignores onlydeployments/local/.
1.5.0 — Gudeg
Released 2026-10-13.
- Added
cmu wallet create --save <name>generates a wallet straight into~/.cmu-wallets.json. It prints the address and mnemonic once and never prints the private key. - Deprecated
cmu wallet loginandcmu wallet create --login. They still work, print a deprecation notice to stderr and are marked deprecated in--help. Removed in 1.6.0. - Fixed dependency updates for
adm-zip,brace-expansionandsource-map-js, which had high-severity advisories.
1.4.1 — Titan
Released 2026-10-13.
- Added
cmu mine status: mining state, hashrate, etherbase, latest block, difficulty and the session wallet's balance. It never asks for a password. - Added
cmu mine start --watchkeeps reporting blocks mined by the session wallet and balance changes until Ctrl-C. Mining keeps running after you leave. - Changed
cmu mine startwarns before taking over an etherbase another account is mining to. - Changed
cmu mine startandstopexplain a node without the miner API, such as the local DevNet, instead of printing the raw RPC error.
1.4.0 — Orion
Released 2026-10-12.
- Added named wallets, stored encrypted in
~/.cmu-wallets.json:cmu wallet save <name>(aliasadd),use <name>,listanddelete <name>. See cmu wallet. - Added
cmu wallet transfer <to> <amount>(aliastf) sends ETH from the session wallet, with a summary and confirmation.-yskips the confirmation. See cmu wallet transfer.
1.3.13 — Baku
Released 2026-09-24.
- Fixed
cmu node startrejects an invalid--portsuch asabc,80abcor1.5, instead of quietly binding to 8585 or to a prefix of the value.
1.3.12 — Shisa
Released 2026-09-23.
Includes the changes tagged as 1.3.11, which was never published:
- Changed
cmu wallet loginandcmu wallet create --loginkeep the active network chosen withcmu network use, and print the network they end on. Before, they reset it tolocal. - Changed
cmu versionno longer prints a git commit line. It duplicatedbuild. - Changed package links point to the
Cointmu-ORGGitHub organization. - Fixed
cmu updateexplains a tarballE404right after a release as a propagation delay and says to retry.
1.3.11 — Nue
Tagged 2026-09-23, never published to npm or as a GitHub Release. cmu update --to 1.3.11 reports it as unavailable. Its changes first shipped in 1.3.12.
1.3.10 — Komainu
Released 2026-09-22.
- Fixed
cmu node startandcmu testwork on npm installs. Every earlier npm release failed withHHE4: Config file .../hardhat.config.js not found. - Fixed deploy scripts generated by
cmu createexit non-zero on failure, socmu deploystops at the failing script instead of reporting success. Applies to newly created projects. - Fixed
cmu console --no-signeris read-only whatever the key source. A key in.env, the environment orcmu.config.tsno longer gets a signer attached. - Fixed
cmu deploy --configprintsDeployer : unavailable (no key)instead of failing when the only key is in a locked session. - Fixed
cmu deployrejects a network with an empty URL before pinging it, and--pingreports the resolved network name. - Changed
cmu compileandcmu exploreruse a trust prompt that no longer claims aPRIVATE_KEYis injected.
1.3.9 — Kirin
Released 2026-09-22.
- Fixed
cmu createaborted withPrompt type "list" is not registeredat its first menu on every earlier npm release.
1.3.8 — Ryu
Released 2026-09-21.
- Added
cmu console, an interactive REPL against the configured network withprovider,signer,ethersandgetContract(name, address)preloaded.--no-signerstarts read-only. See cmu console. - Added
cmu explorer --block <number>andcmu explorer --contract <address>, read-only lookups over RPC. This replaces thecmu explorer openremoved in 1.3.7. See cmu explorer.
1.3.7 — Argus
Released 2026-09-21.
- Removed
cmu explorer open. See 1.3.8 for its replacement. - Removed the
nfttemplate alias.cmu create -t nftno longer resolves; usecmu create -t erc721, which it pointed at. - Changed requires Node.js 20.12.0 or newer.
cmu node startandcmu testrequire Node.js 22 or newer and say so, instead of failing on a missing native module. - Changed
-v, --verboseis a program-level option.cmu -v <command>andcmu <command> -vboth work. - Added
cmu node start --allow-cors. Without it the DevNet RPC rejects browser requests. - Changed
cmu node startreports a busy port as an error instead of trying to kill the process holding it. It no longer servesws://. - Changed
cmu node startserves the ten accounts it prints, on chain ID 1912, andcmu testruns on chain ID 1912 with itsPRIVATE_KEYaccount funded. On npm installs both commands only start working in 1.3.10. - Fixed
cmu testandcmu node startno longer hide module-resolution errors, such as a missingethersor a bad import.
1.3.6 — Hydra
Released 2026-09-15.
- Added
cmu deploy,cmu compileandcmu testlist the project files they are about to execute and ask for confirmation.-y, --yesskips the prompt; without a terminal and without--yesthey exit1. - Added
cmu network save,list,useanddeletesubcommands. - Deprecated the
cmu network --save,--use,--listand--deleteflags. They print a warning and are planned for removal in 2.0.0. - Since 1.7.2 the warning names no removal release, and none is scheduled.
- Added
cmu wallet create --logingenerates a wallet straight into an encrypted session without printing the key or mnemonic. Removed in 1.6.0. - Changed
cmu network --saveonly acceptshttp://andhttps://URLs. - Changed
cmu node startwarns before binding to a non-loopback--host. - Changed
cmu createleaves the mainnet RPC URL empty for you to fill in, instead of a plain-HTTP endpoint. - Changed messages use
error:,warning:andhint:labels, and printed errors show your home directory as~.
1.3.5 — Cerberus
Released 2026-09-15.
- Changed requires Node.js 20 or newer, checked at startup.
- Fixed
cmu updateexplains npm'sEALLOWGITrefusal and prints the one-timenpm install -g cointmu-cli@latestthat gets past it.
1.3.4 — Griffin
Released 2026-09-15.
No user-facing changes. A re-release of 1.3.3 with the same code.
1.3.3 — Griffin
Released 2026-09-15.
- Changed
cmu updateinstalls from the npm registry instead of the GitHub repository, prints the current and target versions, and takes--to <version>to pin a published version. See cmu update. - Added
cmu test --allow-cors. Without it the test RPC proxy rejects browser requests. - Changed session passwords must be at least 12 characters and pass a strength check.
.cmu-sessionis written with mode0600. - Changed projects from
cmu createadd.cmu-sessionand.cmu-networks.jsonto.gitignore. - Fixed
cmu deployin TypeScript projects failed withCannot find module 'typescript@5'. - Fixed
cmu versionshowedbuild: unknownon npm installs.
1.3.2 — Kitsune
Released 2026-09-02.
- Added
cmu deployuses the key in.cmu-sessionwhen noPRIVATE_KEYor config key is set, asking for the session password once per run. - Changed sessions are encrypted with AES-256-GCM. A
.cmu-sessionwritten by 1.3.1 cannot be opened; log in again. - Fixed
cmu compileno longer resolves imports from sibling directories whose names start with the project's directory name.
1.3.1 — Phoenix
Released 2026-09-02.
- First release on npm, as
cointmu-cli. Requires Node.js 18 or newer. - Known issues, fixed later:
cmu createaborts at its first menu (fixed in 1.3.9), andcmu node startandcmu testfail withHHE4(fixed in 1.3.10).
Before 1.3.1
Tags v1.1.0-aries through v1.3.0 were built from source under the package name cmu-cli and never published to npm, so they are not listed here.
WARNING
The cmu-cli package on npm is an unrelated project, not an early release of this CLI. Install cointmu-cli only.
Codenames
Each release has a codename, printed by cmu version. Griffin was used three times: on the unpublished 1.3.0, and on 1.3.3 and its same-code re-release 1.3.4. Every other release has its own name.