Icp-cli announcements and feedback discussion

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, or ICP_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 — the latest shorthand is no longer assumed. Update your icp.yaml accordingly.
  • 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!

5 Likes