oof, spent a long time looking at this today. I think you're right that we should leave this as is for now. Theres no straightforward way to ask a hub how many clients are attached to it, so there's no way to nicely kill the controller when the last ip instance goes down... In answer to your earlier question: "Do you think having an integrated ipcluster for the CLI, and a user-run ipcluster for API is reasonable?" upon reconsideration my answer is yes. CLI should be seamless, and low barrier to entry. If you're pulling the levers on the API then you're already self-identifying as an advanced user, and the call to ipcluster is pretty straightforward.