 platformio/commands/upgrade.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git platformio/commands/upgrade.py platformio/commands/upgrade.py
index d8ba386e6bfa..442bef453690 100644
--- platformio/commands/upgrade.py
+++ platformio/commands/upgrade.py
@@ -37,6 +37,23 @@ DEVELOP_INIT_SCRIPT_URL = (
 @click.option("--only-dependencies", is_flag=True)
 @click.option("--verbose", "-v", is_flag=True)
 def cli(dev, only_dependencies, verbose):
+    update_core_packages()
+
+    if not dev and __version__ == get_latest_version():
+        return click.secho(
+            "You're up-to-date!\nPlatformIO %s is currently the "
+            "newest version available." % __version__,
+            fg="green",
+        )
+
+    click.secho(
+        """This platformio installation is managed by MacPorts. To upgrade, run:
+    % sudo port selfupdate
+    % sudo port upgrade platformio""",
+        fg="red")
+
+    raise SystemExit(1)
+
     if only_dependencies:
         return upgrade_pip_dependencies(verbose)
 
