after giving a thought, I feel that Koin is doing the right thing, and I didn't think my variable lifespans very thoroughly. It seems that my backend URL is injected once, and after I'm trying to override the bean definition, nothing happens because the URL is already injected. The overriden definition would be injected in future injections, not past. Sorry for the lengthy (useless) request here.