diff --git a/pw_package/py/pw_package/package_manager.py b/pw_package/py/pw_package/package_manager.py
index dd89dba..f22845b 100644
--- a/pw_package/py/pw_package/package_manager.py
+++ b/pw_package/py/pw_package/package_manager.py
@@ -19,7 +19,7 @@
 import os
 import pathlib
 import shutil
-from typing import Dict, List, Tuple
+from typing import Dict, List, Sequence, Tuple
 
 _LOG: logging.Logger = logging.getLogger(__name__)
 
@@ -59,6 +59,9 @@
         This method will be skipped if the directory does not exist.
         """
 
+    def info(self, path: pathlib.Path) -> Sequence[str]:  # pylint: disable=no-self-use
+        """Returns a short string explaining how to enable the package."""
+
 
 _PACKAGES: Dict[str, Package] = {}
 
@@ -112,6 +115,10 @@
             available=tuple(available),
         )
 
+    def info(self, package: str) -> Sequence[str]:
+        pkg = _PACKAGES[package]
+        return pkg.info(self._pkg_root / pkg.name)
+
 
 class PackageManagerCLI:
     """Command-line interface to PackageManager."""
@@ -122,6 +129,8 @@
         _LOG.info('Installing %s...', package)
         self._mgr.install(package, force)
         _LOG.info('Installing %s...done.', package)
+        for line in self._mgr.info(package):
+            _LOG.info('%s', line)
         return 0
 
     def remove(self, package: str) -> int:
@@ -133,6 +142,8 @@
     def status(self, package: str) -> int:
         if self._mgr.status(package):
             _LOG.info('%s is installed.', package)
+            for line in self._mgr.info(package):
+                _LOG.info('%s', line)
             return 0
 
         _LOG.info('%s is not installed.', package)
@@ -144,6 +155,8 @@
         _LOG.info('Installed packages:')
         for package in packages.installed:
             _LOG.info('  %s', package)
+            for line in self._mgr.info(package):
+                _LOG.info('    %s', line)
         _LOG.info('')
 
         _LOG.info('Available packages:')
diff --git a/pw_package/py/pw_package/packages/nanopb.py b/pw_package/py/pw_package/packages/nanopb.py
index 96955bd..800ad29 100644
--- a/pw_package/py/pw_package/packages/nanopb.py
+++ b/pw_package/py/pw_package/packages/nanopb.py
@@ -13,6 +13,9 @@
 # the License.
 """Install and check status of nanopb."""
 
+import pathlib
+from typing import Sequence
+
 import pw_package.git_repo
 import pw_package.package_manager
 
@@ -26,5 +29,12 @@
                          commit='9f57cc871d8a025039019c2d2fde217591f4e30d',
                          **kwargs)
 
+    def info(self, path: pathlib.Path) -> Sequence[str]:
+        return (
+            f'{self.name} installed in: {path}',
+            "Enable by running 'gn args out' and adding this line:",
+            f'  dir_pw_third_party_nanopb = "{path}"',
+        )
+
 
 pw_package.package_manager.register(NanoPB)
