icp-cli v0.2.0 is here — friendly domains, canister migration, telemetry, and more
Hey everyone,
We’re excited to share that icp-cli v0.2.0 is now available! This release packs a ton of improvements to make your local development experience smoother, your canister management more powerful, and your workflow more transparent. Let’s dive in.
Highlights
Friendly Local Domains
Tired of copy-pasting canister principals to access your frontends locally? Now your canisters get human-readable domains out of the box — access frontend.local.localhost instead of <principal>.localhost.
Candid Interface Compatibility Checks
When upgrading a canister, icp-cli now automatically checks for Candid interface incompatibilities before deploying. Catch breaking changes before they hit your users.
Canister Logs
icp canister logs my-canister
icp canister logs my-canister --follow --interval 2
Stream canister logs right in your terminal. Use --follow to tail them continuously.
Canister Migration (Guide)
icp canister migrate-id my-canister
Move canister IDs across subnets — useful when reorganizing your infrastructure.
Flexible canister call Output Formats
icp canister call my-canister get_data --output candid
icp canister call my-canister get_data --output hex
icp canister call my-canister get_data --output text
Choose between auto, candid, text, and hex output modes.
Encrypted Identity Export
icp identity export my-identity --encrypt
Export identity PEM files without exposing raw keys in your terminal.
Local Caching for Recipes & Prebuilt Canisters
Recipes and prebuilt canister WASMs are now cached locally, so repeated builds and deploys don’t re-download everything.
Proxy Canister on Managed Networks
When starting a managed local network, a proxy canister is now automatically installed with all your identities as controllers. icp network status shows the proxy principal.
Bitcoin & Dogecoin Node Connectivity
Configure bitcoind-addr and dogecoind-addr in your managed network config to connect your local network to Bitcoin or Dogecoin nodes.
Subaccount Support
icp token, icp cycles, and icp identity account-id now support subaccounts and ICRC-1 account IDs.
Anonymous Usage Telemetry
We’ve added opt-out anonymous telemetry to help us understand which commands are used and where friction exists. It collects only command name, arguments, duration, and outcome — no personal data.
- Opt out anytime:
icp settings telemetry false,DO_NOT_TRACK=1, orICP_TELEMETRY_DISABLED=1 - Automatically disabled in CI environments
Autocontainerize
icp settings autocontainerize true
Networks can use pocket-ic directly, or a similar setup in a Docker container. With this setting, networks always get started as Docker containers.
Breaking Changes
- Recipe versions are now required. Recipes must be specified as
@registry/recipe@version— thelatestshorthand is no longer assumed. Update youricp.yamlaccordingly. - Argument type inference removed. Init/call args are now always assumed to be Candid. Use new parameters to specify other formats (hex, file paths).
- Minimum password length. New passwords for identity encryption must be at least 8 characters.
For the full list of changes, see the v0.2.0 release notes.
New Templates
We’ve expanded the icp-cli-templates repository with new starter templates:
- proxy — a ready-to-use proxy canister template for forwarding calls between canisters
- bitcoin-starter — get started building Bitcoin-integrated canisters on ICP
- static-website — a static website deployed to an asset canister
Spin them up with icp new my-project and select from the template list.
Migrated Examples
We’ve started migrating official examples in the dfinity/examples repository to support icp-cli alongside dfx. Most of these are designed to work with both tools, since ICP Ninja currently still relies on dfx. Check out the PRs if you’re curious about what dual-tool support looks like in practice:
IC Skills: Help Your AI Agent Use icp-cli
We’ve started working on IC Skills — and one of the first is the icp-cli skill. It teaches AI coding agents how to work with icp-cli, and we’re especially interested in how well it helps agents migrate projects from dfx to icp-cli.
We’d love your feedback — give it a try and let us know how it goes!
What’s Next
We’re continuing to improve the developer experience on ICP. Your feedback drives our roadmap — if you run into issues or have feature requests, please let us know here or open an issue on GitHub.
Happy building!