The Token Problem (DIP20)

You wouldn’t want to do a canister reinstall unless your willing to lose all your canister’s data. If you’re trying to upgrade the code for a canister that is controlled by your manager.mo/main.mo canister (which would be any canister that was instantiate by the manager.mo/main.mo canister), you’ll have to do so a different way.

It’s not as simple as upgrading the code for that child canister because your machine technically isn’t the controller for the child canister. The main.mo canister is the controller, and your machine controls the main.mo canister. So to actually upgrade that canister, you’ll have to create a method in your manager.mo/main.mo file that upgrades the code for the child canister which in this case, sounds like your token canister.

Here’s a thread that will show you how you go about creating and calling that method for installing the code to upgrade child canisters: