-
Notifications
You must be signed in to change notification settings - Fork 40
Description
We deploy contracts via pop up <contract …>, and the CLI only prints the contract address inside display_contract_info, which stops a cliclack spinner (crates/pop-cli/src/commands/up/contract.rs:378-386,544-562). That spinner uses indicatif, and when the command runs without a TTY (the MCP uses Command::output, so no tty) indicatif suppresses all spinner rendering—meaning the contract address never reaches stdout or stderr. Other commands like pop up ink-node log their status through Cli.info/Cli.outro, which emit even without a TTY, so the MCP sees those. To fix the deployment case we need to output the contract address via a channel that works in non‑TTY contexts (e.g., Cli.info, println!, or a structured stdout line) right after display_contract_info in both the normal and wallet flows; otherwise automation will never be able to capture the address.