Unable to call `dfx canister status` with --no-wallet anymore


I’m unsure what I’m doing wrong here.

I am able to deploy fine using --no-wallet as that is how I’ve setup the canister with the deploying principal set as the controller. Why is the --no-wallet being flagged as invalid syntax in this case?

First off, as a rule of thumb you can just drop --no-wallet since a few versions of dfx ago. The --no-wallet flag has been made the default and therefore it has no effect anymore in most cases. Commands that require a wallet will tell you that you should use --wallet.

Because dfx deploy does not accept the same arguments as dfx canister (anymore? I don’t remember the exact history). By default it uses your own principal to make the requests. Only when using --wallet <wallet id> it makes the wallet do the request.

My best guess is that either you’d want to run dfx canister --wallet <your wallet id here> --network ic status --all. (You can find your wallet id with dfx identity get-wallet). Alternatively, you may be using the wrong identity, which is not a controller.