Repository: ansible/ansible-navigator (language: python)

Issue:
collection browsing does not include builtin
ansible-doc -F --json should help


Discussion / hints:

Fix patch:
diff --git a/docs/changelog-fragments.d/1090.feature.md b/docs/changelog-fragments.d/1090.feature.md
new file mode 100644
index 000000000..93db59b60
--- /dev/null
+++ b/docs/changelog-fragments.d/1090.feature.md
@@ -0,0 +1,4 @@
+Added the `ansible.builtin` collection to the collection list including
+the full details of each plugin.
+
+-- by {user}`cidrblock`
diff --git a/share/ansible_navigator/utils/catalog_collections.py b/share/ansible_navigator/utils/catalog_collections.py
index b3309f9e9..b953561a5 100644
--- a/share/ansible_navigator/utils/catalog_collections.py
+++ b/share/ansible_navigator/utils/catalog_collections.py
@@ -24,6 +24,8 @@
 
 import yaml
 
+from ansible import __version__ as ansible_version
+from ansible import plugins
 from ansible.utils.plugin_docs import get_docstring
 from yaml.error import YAMLError
 
@@ -87,6 +89,10 @@ def _catalog_plugins(self, collection: Dict) -> None:
                 for plugin_dir in plugin_directory.iterdir()
                 if plugin_dir.is_dir() and plugin_dir.name not in exempt
             ]
+            # builting modules are found in a sibling of the plugin directory
+            if collection["known_as"] == "ansible.builtin":
+                plugin_dirs.append(Path(collection["path"], "modules"))
+
             for plugin_dir in plugin_dirs:
                 plugin_type = plugin_dir.name
                 if plugin_type == "modules":
@@ -230,7 +236,7 @@ def _process_plugin_dir(
         :param collection: The details of the collection
         """
         for filename in filenames:
-            if str(filename).startswith("__"):
+            if str(filename.name).startswith("__"):
                 continue
 
             relative_path = Path(filename).relative_to(collection["path"])
@@ -324,12 +330,27 @@ def process_directories(self) -> Tuple[Dict, List]:
             collection_directory = directory / "ansible_collections"
             if collection_directory.exists():
                 self._one_path(collection_directory)
+        self.add_pseudo_builtin()
         for _collection_path, collection in self._collections.items():
             self._catalog_plugins(collection)
             self._catalog_roles(collection)
         self._find_shadows()
         return self._collections, self._errors
 
+    def add_pseudo_builtin(self) -> None:
+        """Add the pseudo builtin collection."""
+        collection: Dict[str, Union[str, List, Dict]] = {}
+        collection["known_as"] = "ansible.builtin"
+        collection["plugins"] = []
+        collection["plugin_checksums"] = {}
+        collection["path"] = str(Path(plugins.__file__).parents[1])
+        collection["runtime"] = {}
+        collection["meta_source"] = "None"
+        collection["collection_info"] = {"version": ansible_version}
+        self._collections[str(collection["path"])] = collection
+        msg = f"Added ansible.builtin from: {collection['path']}"
+        self._messages.append(msg)
+
 
 def worker(pending_queue: multiprocessing.Queue, completed_queue: multiprocessing.Queue) -> None:
     """Extract the documentation from a plugin, place in completed queue.
@@ -349,11 +370,17 @@ def worker(pending_queue: multiprocessing.Queue, completed_queue: multiprocessin
         collection_name, checksum, plugin_path = entry
 
         try:
-            (doc, examples, returndocs, metadata) = get_docstring(
-                filename=str(plugin_path),
-                fragment_loader=fragment_loader,
-                collection_name=collection_name,
-            )
+            if ansible_version.startswith("2.9"):
+                (doc, examples, returndocs, metadata) = get_docstring(
+                    filename=str(plugin_path),
+                    fragment_loader=fragment_loader,
+                )
+            else:
+                (doc, examples, returndocs, metadata) = get_docstring(
+                    filename=str(plugin_path),
+                    fragment_loader=fragment_loader,
+                    collection_name=collection_name,
+                )
 
         except Exception as exc:  # pylint: disable=broad-except
             err_message = f"{type(exc).__name__} (get_docstring): {str(exc)}"


Test patch:
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/0.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/0.json
index 9b4a4dd76..4a5ca8f8b 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/0.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/0.json
@@ -3,14 +3,19 @@
     "index": 0,
     "comment": "ansible-navigator collections top window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json
index 9261acb9d..88081b74d 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[01-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[01-:1-Browse company_name.coll_1 plugins window]",
     "index": 1,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json
index 8c2a7871a..a5df7d5de 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json
@@ -3,14 +3,19 @@
     "index": 10,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json
index 6d53c2d05..a5c1090e7 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[11-:1-Browse company_name.coll_2 plugins window]",
+    "name": "test[11-:2-Browse company_name.coll_2 plugins window]",
     "index": 11,
     "comment": "Browse company_name.coll_2 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json
index 509ac54fb..13173ccfa 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json
@@ -3,14 +3,19 @@
     "index": 16,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json
index da50a1935..3cc274874 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json
@@ -3,14 +3,19 @@
     "index": 17,
     "comment": "Provide an invalid ee value",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json
index 5c6c44689..ad4c6c4f2 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[18-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[18-:1-Browse company_name.coll_1 plugins window]",
     "index": 18,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/20.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/20.json
new file mode 100644
index 000000000..b2595d737
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/20.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[20-:back-Back to browse company_name.coll_1 plugins window]",
+    "index": 20,
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/21.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/21.json
new file mode 100644
index 000000000..514af611d
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/21.json
@@ -0,0 +1,21 @@
+{
+    "name": "test[21-:back-Back to ansible-navigator collections browse window]",
+    "index": 21,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/22.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/22.json
new file mode 100644
index 000000000..12c0e6809
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/22.json
@@ -0,0 +1,140 @@
+{
+    "name": "test[22-:0-Browse ansible.builtin plugins window]",
+    "index": 22,
+    "comment": "Browse ansible.builtin plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "    ANSIBLE.BUILTIN              TYPE          ADDED         DEPRECATED    DESCRIPTION",
+        "  0│add_host                     module        0.9           False         Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        "  1│advanced_host_list           inventory     2.4           False         Parses a 'host list' with ranges",
+        "  2│apt                          module        0.0.2         False         Manages apt-packages",
+        "  3│apt_key                      module        1.0           False         Add or remove an apt key",
+        "  4│apt_repository               module        0.7           False         Add and remove APT repositories",
+        "  5│assemble                     module        0.5           False         Assemble configuration files from fragments",
+        "  6│assert                       module        1.5           False         Asserts given expressions are true",
+        "  7│async_status                 module        0.5           False         Obtain status of asynchronous task",
+        "  8│auto                         inventory     2.5           False         Loads and executes an inventory plugin specified in a YAML config",
+        "  9│blockinfile                  module        2.0           False         Insert/update/remove a text block surrounded by marker lines",
+        " 10│cmd                          shell         2.8           False         Windows Command Prompt",
+        " 11│command                      module        historical    False         Execute commands on targets",
+        " 12│config                       lookup        2.5           False         Lookup current Ansible configuration values",
+        " 13│constructed                  inventory     2.4           False         Uses Jinja2 to construct vars and groups based on existing inventory.",
+        " 14│copy                         module        historical    False         Copy files to remote locations",
+        " 15│cron                         module        0.9           False         Manage cron.d and crontab entries",
+        " 16│csvfile                      lookup        1.5           False         read data from a TSV or CSV file",
+        " 17│debconf                      module        1.6           False         Configure a .deb package",
+        " 18│debug                        strategy      2.1           False         Executes tasks in interactive debug session.",
+        " 19│debug                        module        0.8           False         Print statements during execution",
+        " 20│default                      callback      historical    False         default Ansible screen output",
+        " 21│dict                         lookup        1.5           False         returns key/value pair items from dictionaries",
+        " 22│dnf                          module          1.9         False         Manages packages with the I(dnf) package manager",
+        " 23│dpkg_selections              module        2.0           False         Dpkg package selection selections",
+        " 24│env                          lookup        0.9           False         Read the value of environment variables",
+        " 25│expect                       module        2.0           False         Executes a command and responds to prompts",
+        " 26│fail                         module        0.8           False         Fail with custom message",
+        " 27│fetch                        module        0.2           False         Fetch files from remote nodes",
+        " 28│file                         lookup        0.9           False         read file contents",
+        " 29│file                         module        historical    False         Manage files and file properties",
+        " 30│fileglob                     lookup        1.4           False         list files matching a pattern",
+        " 31│find                         module        2.0           False         Return a list of files based on specific criteria",
+        " 32│first_found                  lookup        historical    False         return first file found from list",
+        " 33│free                         strategy      2.0           False         Executes tasks without waiting for all hosts",
+        " 34│gather_facts                 module          2.8         False         Gathers facts about remote hosts",
+        " 35│generator                    inventory     2.6           False         Uses Jinja2 to construct hosts and groups from patterns",
+        " 36│get_url                      module        0.6           False         Downloads files from HTTP, HTTPS, or FTP to node",
+        " 37│getent                       module        1.8           False         A wrapper to the unix getent utility",
+        " 38│git                          module        0.0.1         False         Deploy software (or files) from git checkouts",
+        " 39│group                        module        0.0.2         False         Add or remove groups",
+        " 40│group_by                     module        0.9           False         Create Ansible groups based on facts",
+        " 41│host_group_vars              vars          2.4           False         In charge of loading group_vars and host_vars",
+        " 42│host_list                    inventory     2.4           False         Parses a 'host list' string",
+        " 43│host_pinned                  strategy      2.7           False         Executes tasks on each host without interruption",
+        " 44│hostname                     module        1.4           False         Manage hostname",
+        " 45│import_playbook              module        2.4           False         Import a playbook",
+        " 46│import_role                  module        2.4           False         Import a role into a play",
+        " 47│import_tasks                 module        2.4           False         Import a task list",
+        " 48│include                      module        0.6           False         Include a play or task list",
+        " 49│include_role                 module        2.2           False         Load and execute a role",
+        " 50│include_tasks                module        2.4           False         Dynamically include a task list",
+        " 51│include_vars                 module        1.4           False         Load variables from files, dynamically within a task",
+        " 52│indexed_items                lookup        1.3           False         rewrites lists to return 'indexed items'",
+        " 53│ini                          inventory     2.4           False         Uses an Ansible INI file as inventory source.",
+        " 54│ini                          lookup        2.0           False         read data from a ini file",
+        " 55│inventory_hostnames          lookup        1.3           False         list of inventory hosts matching a host pattern",
+        " 56│iptables                     module        2.0           False         Modify iptables rules",
+        " 57│items                        lookup        historical    False         list of items",
+        " 58│jsonfile                     cache         1.9           False         JSON formatted files.",
+        " 59│junit                        callback      historical    False         write playbook output to a JUnit file.",
+        " 60│known_hosts                  module        1.9           False         Add or remove a host from the C(known_hosts) file",
+        " 61│linear                       strategy      2.0           False         Executes tasks in a linear fashion",
+        " 62│lineinfile                   module        0.7           False         Manage lines in text files",
+        " 63│lines                        lookup        0.9           False         read lines from command",
+        " 64│list                         lookup        2.0           False         simply returns what it is given.",
+        " 65│local                        connection    historical    False         execute on controller",
+        " 66│memory                       cache         historical    False         RAM backed, non persistent",
+        " 67│meta                         module        1.2           False         Execute Ansible 'actions'",
+        " 68│minimal                      callback      historical    False         minimal Ansible screen output",
+        " 69│nested                       lookup        1.1           False         composes a list with nested elements of other lists",
+        " 70│oneline                      callback      historical    False         oneline Ansible screen output",
+        " 71│package                      module          2.0         False         Generic OS package manager",
+        " 72│package_facts                module        2.5           False         Package information as facts",
+        " 73│paramiko                     connection    0.1           False         Run tasks via python ssh (paramiko)",
+        " 74│password                     lookup        1.1           False         retrieve or generate a random password, stored in a file",
+        " 75│pause                        module        0.8           False         Pause playbook execution",
+        " 76│ping                         module        historical    False         Try to connect to host, verify a usable python and return C(pong) on success",
+        " 77│pip                          module        0.7           False         Manages Python library dependencies",
+        " 78│pipe                         lookup        0.9           False         read output from a command",
+        " 79│powershell                   shell         historical    False         Windows PowerShell",
+        " 80│psrp                         connection    2.7           False         Run tasks over Microsoft PowerShell Remoting Protocol",
+        " 81│random_choice                lookup        1.1           False         return random element from list",
+        " 82│raw                          module        historical    False         Executes a low-down and dirty command",
+        " 83│reboot                       module        2.7           False         Reboot a machine",
+        " 84│replace                      module        1.6           False         Replace all instances of a particular string in a file using a back-referenced regular expression",
+        " 85│rpm_key                      module        1.3           False         Adds or removes a gpg key from the rpm db",
+        " 86│runas                        become        2.8           False         Run As user",
+        " 87│script                       inventory     2.4           False         Executes an inventory script that returns JSON",
+        " 88│script                       module        0.9           False         Runs a local script on a remote node after transferring it",
+        " 89│sequence                     lookup        1.0           False         generate a list based on a number sequence",
+        " 90│service                      module        0.1           False         Manage services",
+        " 91│service_facts                module        2.5           False         Return service state information as fact data",
+        " 92│set_fact                     module        1.2           False         Set host variable(s) and fact(s).",
+        " 93│set_stats                    module        2.3           False         Define and display stats for the current ansible run",
+        " 94│setup                        module        historical    False         Gathers facts about remote hosts",
+        " 95│sh                           shell         historical    False         POSIX shell (/bin/sh)",
+        " 96│shell                        module        0.2           False         Execute shell commands on targets",
+        " 97│slurp                        module        historical    False         Slurps a file from remote nodes",
+        " 98│ssh                          connection    historical    False         connect via ssh client binary",
+        " 99│stat                         module        1.3           False         Retrieve file or file system status",
+        "100│su                           become        2.8           False         Substitute User",
+        "101│subelements                  lookup        1.4           False         traverse nested key from a list of dictionaries",
+        "102│subversion                   module        0.7           False         Deploys a subversion repository",
+        "103│sudo                         become        2.8           False         Substitute User DO",
+        "104│systemd                      module        2.2           False         Manage systemd units",
+        "105│sysvinit                     module        2.6           False         Manage SysV services.",
+        "106│tempfile                     module        2.3           False         Creates temporary files and directories",
+        "107│template                     lookup        0.9           False         retrieve contents of file after templating with Jinja2",
+        "108│template                     module        historical    False         Template a file out to a target host",
+        "109│together                     lookup        1.3           False         merges lists into synchronized list",
+        "110│toml                         inventory     2.8           False         Uses a specific TOML file as an inventory source.",
+        "111│tree                         callback      2.0           False         Save host events to files",
+        "112│unarchive                    module        1.4           False         Unpacks an archive after (optionally) copying it from the local machine",
+        "113│unvault                      lookup        2.10          False         read vaulted file(s) contents",
+        "114│uri                          module        1.1           False         Interacts with webservices",
+        "115│url                          lookup        1.9           False         return contents from URL",
+        "116│user                         module        0.2           False         Manage user accounts",
+        "117│validate_argument_spec       module        2.11          False         Validate role argument specs.",
+        "118│varnames                     lookup        2.8           False         Lookup matching variable names",
+        "119│vars                         lookup        2.5           False         Lookup templated value of variables",
+        "120│wait_for                     module        0.7           False         Waits for a condition before continuing",
+        "121│wait_for_connection          module        2.3           False         Waits until remote system is reachable/usable",
+        "122│winrm                        connection    2.0           False         Run tasks over Microsoft's WinRM",
+        "123│yaml                         inventory     2.4           False         Uses a specific YAML file as an inventory source.",
+        "124│yum                          module        historical    False         Manages packages with the I(yum) package manager",
+        "125│yum_repository               module        2.1           False         Add or remove YUM repositories",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/23.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/23.json
new file mode 100644
index 000000000..1b033b128
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/23.json
@@ -0,0 +1,112 @@
+{
+    "name": "test[23-:0-Browse ansible.builtin.add_host module]",
+    "index": 23,
+    "comment": "Browse ansible.builtin.add_host module",
+    "additional_information": {
+        "present": [
+            "ANSIBLE.BUILTIN.ADD_HOST"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "ANSIBLE.BUILTIN.ADD_HOST: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  name: ansible.builtin",
+        " 4│  path: /usr/local/lib/python3.8/site-packages/ansible",
+        " 5│  shadowed_by: []",
+        " 6│  version: 2.11.6.post0",
+        " 7│doc:",
+        " 8│  author:",
+        " 9│  - Ansible Core Team",
+        "10│  - Seth Vidal (@skvidal)",
+        "11│  description:",
+        "12│  - Use variables to create new hosts and groups in inventory for use in later plays",
+        "13│    of the same playbook.",
+        "14│  - Takes variables so you can define the new hosts more fully.",
+        "15│  - This module is also supported for Windows targets.",
+        "16│  module: add_host",
+        "17│  notes:",
+        "18│  - This module bypasses the play host loop and only runs once for all the hosts in",
+        "19│    the play, if you need it to iterate use a C(loop) construct. If you need to dynamically",
+        "20│    add all hosts targeted by a playbook for later use, the C(group_by) module is",
+        "21│    potentially a better choice.",
+        "22│  - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and",
+        "23│    newer.",
+        "24│  - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead",
+        "25│    of the 'global inventory source', because you can now have multiple sources.  An",
+        "26│    example was added that shows how to partially restore the previous behaviour.",
+        "27│  - Windows targets are supported by this module.",
+        "28│  - Though this module does not change the remote host, we do provide 'changed' status",
+        "29│    as it can be useful for those trying to track inventory changes.",
+        "30│  options:",
+        "31│    groups:",
+        "32│      aliases:",
+        "33│      - group",
+        "34│      - groupname",
+        "35│      description:",
+        "36│      - The groups to add the hostname to.",
+        "37│      type: list",
+        "38│    name:",
+        "39│      aliases:",
+        "40│      - host",
+        "41│      - hostname",
+        "42│      description:",
+        "43│      - The hostname/ip of the host to add to the inventory, can include a colon and",
+        "44│        a port number.",
+        "45│      required: true",
+        "46│      type: str",
+        "47│  seealso:",
+        "48│  - module: ansible.builtin.group_by",
+        "49│  short_description: Add a host (and alternatively a group) to the ansible-playbook",
+        "50│    in-memory inventory",
+        "51│  version_added: '0.9'",
+        "52│  version_added_collection: ansible.builtin",
+        "53│examples: |-",
+        "54│  - name: Add host to group 'just_created' with variable foo=42",
+        "55│    add_host:",
+        "56│      name: '{{ ip_from_ec2 }}'",
+        "57│      groups: just_created",
+        "58│      foo: 42",
+        "59│",
+        "60│  - name: Add host to multiple groups",
+        "61│    add_host:",
+        "62│      hostname: '{{ new_ip }}'",
+        "63│      groups:",
+        "64│      - group1",
+        "65│      - group2",
+        "66│",
+        "67│  - name: Add a host with a non-standard port local to your machines",
+        "68│    add_host:",
+        "69│      name: '{{ new_ip }}:{{ new_port }}'",
+        "70│",
+        "71│  - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)",
+        "72│    add_host:",
+        "73│      hostname: '{{ new_ip }}'",
+        "74│      ansible_ssh_host: '{{ inventory_hostname }}'",
+        "75│      ansible_ssh_port: '{{ new_port }}'",
+        "76│",
+        "77│  - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)",
+        "78│    add_host:",
+        "79│      hostname: '{{ new_ip }}'",
+        "80│      ansible_host: '{{ inventory_hostname }}'",
+        "81│      ansible_port: '{{ new_port }}'",
+        "82│",
+        "83│  - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)",
+        "84│    add_host:",
+        "85│      hostname: charlie",
+        "86│      inventory_dir: '{{ inventory_dir }}'",
+        "87│",
+        "88│  - name: Add all hosts running this playbook to the done group",
+        "89│    add_host:",
+        "90│      name: '{{ item }}'",
+        "91│      groups: done",
+        "92│    loop: \"{{ ansible_play_hosts }}\"",
+        "93│full_name: ansible.builtin.add_host",
+        "94│metadata: null",
+        "95│returndocs: null",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/0.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/0.json
index a845537c3..e5a4bcacb 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/0.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/0.json
@@ -8,9 +8,10 @@
         "compared_fixture": true
     },
     "output": [
-        "  NAME                              VERSION      SHADOWED       TYPE               PATH",
-        "0│company_name.coll_1               1.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2               2.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        "  NAME                            VERSION              SHADOWED       TYPE              PATH",
+        "0│ansible.builtin                 2.11.6.post0            False       contained         /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1             1.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2             2.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json
index 9261acb9d..88081b74d 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[01-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[01-:1-Browse company_name.coll_1 plugins window]",
     "index": 1,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json
index d83d83cf6..e474f4928 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json
@@ -3,14 +3,19 @@
     "index": 10,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                              VERSION      SHADOWED       TYPE               PATH",
-        "0│company_name.coll_1               1.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2               2.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        "  NAME                            VERSION              SHADOWED       TYPE              PATH",
+        "0│ansible.builtin                 2.11.6.post0            False       contained         /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1             1.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2             2.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json
index 6d53c2d05..a5c1090e7 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[11-:1-Browse company_name.coll_2 plugins window]",
+    "name": "test[11-:2-Browse company_name.coll_2 plugins window]",
     "index": 11,
     "comment": "Browse company_name.coll_2 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json
index e791a83c5..526786e2c 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json
@@ -3,14 +3,19 @@
     "index": 16,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                              VERSION      SHADOWED       TYPE               PATH",
-        "0│company_name.coll_1               1.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2               2.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        "  NAME                            VERSION              SHADOWED       TYPE              PATH",
+        "0│ansible.builtin                 2.11.6.post0            False       contained         /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1             1.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2             2.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json
index 0e8e39eb2..d73d71b4a 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json
@@ -3,14 +3,19 @@
     "index": 17,
     "comment": "Provide an invalid ee value",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                              VERSION      SHADOWED       TYPE               PATH",
-        "0│company_name.coll_1               1.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2               2.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        "  NAME                            VERSION              SHADOWED       TYPE              PATH",
+        "0│ansible.builtin                 2.11.6.post0            False       contained         /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1             1.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2             2.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json
index 5c6c44689..ad4c6c4f2 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[18-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[18-:1-Browse company_name.coll_1 plugins window]",
     "index": 18,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/20.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/20.json
new file mode 100644
index 000000000..b2595d737
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/20.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[20-:back-Back to browse company_name.coll_1 plugins window]",
+    "index": 20,
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/21.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/21.json
new file mode 100644
index 000000000..4e8454693
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/21.json
@@ -0,0 +1,21 @@
+{
+    "name": "test[21-:back-Back to ansible-navigator collections browse window]",
+    "index": 21,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "  NAME                            VERSION              SHADOWED       TYPE              PATH",
+        "0│ansible.builtin                 2.11.6.post0            False       contained         /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1             1.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2             2.0.0                   False       bind_mount        /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/22.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/22.json
new file mode 100644
index 000000000..12c0e6809
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/22.json
@@ -0,0 +1,140 @@
+{
+    "name": "test[22-:0-Browse ansible.builtin plugins window]",
+    "index": 22,
+    "comment": "Browse ansible.builtin plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "    ANSIBLE.BUILTIN              TYPE          ADDED         DEPRECATED    DESCRIPTION",
+        "  0│add_host                     module        0.9           False         Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        "  1│advanced_host_list           inventory     2.4           False         Parses a 'host list' with ranges",
+        "  2│apt                          module        0.0.2         False         Manages apt-packages",
+        "  3│apt_key                      module        1.0           False         Add or remove an apt key",
+        "  4│apt_repository               module        0.7           False         Add and remove APT repositories",
+        "  5│assemble                     module        0.5           False         Assemble configuration files from fragments",
+        "  6│assert                       module        1.5           False         Asserts given expressions are true",
+        "  7│async_status                 module        0.5           False         Obtain status of asynchronous task",
+        "  8│auto                         inventory     2.5           False         Loads and executes an inventory plugin specified in a YAML config",
+        "  9│blockinfile                  module        2.0           False         Insert/update/remove a text block surrounded by marker lines",
+        " 10│cmd                          shell         2.8           False         Windows Command Prompt",
+        " 11│command                      module        historical    False         Execute commands on targets",
+        " 12│config                       lookup        2.5           False         Lookup current Ansible configuration values",
+        " 13│constructed                  inventory     2.4           False         Uses Jinja2 to construct vars and groups based on existing inventory.",
+        " 14│copy                         module        historical    False         Copy files to remote locations",
+        " 15│cron                         module        0.9           False         Manage cron.d and crontab entries",
+        " 16│csvfile                      lookup        1.5           False         read data from a TSV or CSV file",
+        " 17│debconf                      module        1.6           False         Configure a .deb package",
+        " 18│debug                        strategy      2.1           False         Executes tasks in interactive debug session.",
+        " 19│debug                        module        0.8           False         Print statements during execution",
+        " 20│default                      callback      historical    False         default Ansible screen output",
+        " 21│dict                         lookup        1.5           False         returns key/value pair items from dictionaries",
+        " 22│dnf                          module          1.9         False         Manages packages with the I(dnf) package manager",
+        " 23│dpkg_selections              module        2.0           False         Dpkg package selection selections",
+        " 24│env                          lookup        0.9           False         Read the value of environment variables",
+        " 25│expect                       module        2.0           False         Executes a command and responds to prompts",
+        " 26│fail                         module        0.8           False         Fail with custom message",
+        " 27│fetch                        module        0.2           False         Fetch files from remote nodes",
+        " 28│file                         lookup        0.9           False         read file contents",
+        " 29│file                         module        historical    False         Manage files and file properties",
+        " 30│fileglob                     lookup        1.4           False         list files matching a pattern",
+        " 31│find                         module        2.0           False         Return a list of files based on specific criteria",
+        " 32│first_found                  lookup        historical    False         return first file found from list",
+        " 33│free                         strategy      2.0           False         Executes tasks without waiting for all hosts",
+        " 34│gather_facts                 module          2.8         False         Gathers facts about remote hosts",
+        " 35│generator                    inventory     2.6           False         Uses Jinja2 to construct hosts and groups from patterns",
+        " 36│get_url                      module        0.6           False         Downloads files from HTTP, HTTPS, or FTP to node",
+        " 37│getent                       module        1.8           False         A wrapper to the unix getent utility",
+        " 38│git                          module        0.0.1         False         Deploy software (or files) from git checkouts",
+        " 39│group                        module        0.0.2         False         Add or remove groups",
+        " 40│group_by                     module        0.9           False         Create Ansible groups based on facts",
+        " 41│host_group_vars              vars          2.4           False         In charge of loading group_vars and host_vars",
+        " 42│host_list                    inventory     2.4           False         Parses a 'host list' string",
+        " 43│host_pinned                  strategy      2.7           False         Executes tasks on each host without interruption",
+        " 44│hostname                     module        1.4           False         Manage hostname",
+        " 45│import_playbook              module        2.4           False         Import a playbook",
+        " 46│import_role                  module        2.4           False         Import a role into a play",
+        " 47│import_tasks                 module        2.4           False         Import a task list",
+        " 48│include                      module        0.6           False         Include a play or task list",
+        " 49│include_role                 module        2.2           False         Load and execute a role",
+        " 50│include_tasks                module        2.4           False         Dynamically include a task list",
+        " 51│include_vars                 module        1.4           False         Load variables from files, dynamically within a task",
+        " 52│indexed_items                lookup        1.3           False         rewrites lists to return 'indexed items'",
+        " 53│ini                          inventory     2.4           False         Uses an Ansible INI file as inventory source.",
+        " 54│ini                          lookup        2.0           False         read data from a ini file",
+        " 55│inventory_hostnames          lookup        1.3           False         list of inventory hosts matching a host pattern",
+        " 56│iptables                     module        2.0           False         Modify iptables rules",
+        " 57│items                        lookup        historical    False         list of items",
+        " 58│jsonfile                     cache         1.9           False         JSON formatted files.",
+        " 59│junit                        callback      historical    False         write playbook output to a JUnit file.",
+        " 60│known_hosts                  module        1.9           False         Add or remove a host from the C(known_hosts) file",
+        " 61│linear                       strategy      2.0           False         Executes tasks in a linear fashion",
+        " 62│lineinfile                   module        0.7           False         Manage lines in text files",
+        " 63│lines                        lookup        0.9           False         read lines from command",
+        " 64│list                         lookup        2.0           False         simply returns what it is given.",
+        " 65│local                        connection    historical    False         execute on controller",
+        " 66│memory                       cache         historical    False         RAM backed, non persistent",
+        " 67│meta                         module        1.2           False         Execute Ansible 'actions'",
+        " 68│minimal                      callback      historical    False         minimal Ansible screen output",
+        " 69│nested                       lookup        1.1           False         composes a list with nested elements of other lists",
+        " 70│oneline                      callback      historical    False         oneline Ansible screen output",
+        " 71│package                      module          2.0         False         Generic OS package manager",
+        " 72│package_facts                module        2.5           False         Package information as facts",
+        " 73│paramiko                     connection    0.1           False         Run tasks via python ssh (paramiko)",
+        " 74│password                     lookup        1.1           False         retrieve or generate a random password, stored in a file",
+        " 75│pause                        module        0.8           False         Pause playbook execution",
+        " 76│ping                         module        historical    False         Try to connect to host, verify a usable python and return C(pong) on success",
+        " 77│pip                          module        0.7           False         Manages Python library dependencies",
+        " 78│pipe                         lookup        0.9           False         read output from a command",
+        " 79│powershell                   shell         historical    False         Windows PowerShell",
+        " 80│psrp                         connection    2.7           False         Run tasks over Microsoft PowerShell Remoting Protocol",
+        " 81│random_choice                lookup        1.1           False         return random element from list",
+        " 82│raw                          module        historical    False         Executes a low-down and dirty command",
+        " 83│reboot                       module        2.7           False         Reboot a machine",
+        " 84│replace                      module        1.6           False         Replace all instances of a particular string in a file using a back-referenced regular expression",
+        " 85│rpm_key                      module        1.3           False         Adds or removes a gpg key from the rpm db",
+        " 86│runas                        become        2.8           False         Run As user",
+        " 87│script                       inventory     2.4           False         Executes an inventory script that returns JSON",
+        " 88│script                       module        0.9           False         Runs a local script on a remote node after transferring it",
+        " 89│sequence                     lookup        1.0           False         generate a list based on a number sequence",
+        " 90│service                      module        0.1           False         Manage services",
+        " 91│service_facts                module        2.5           False         Return service state information as fact data",
+        " 92│set_fact                     module        1.2           False         Set host variable(s) and fact(s).",
+        " 93│set_stats                    module        2.3           False         Define and display stats for the current ansible run",
+        " 94│setup                        module        historical    False         Gathers facts about remote hosts",
+        " 95│sh                           shell         historical    False         POSIX shell (/bin/sh)",
+        " 96│shell                        module        0.2           False         Execute shell commands on targets",
+        " 97│slurp                        module        historical    False         Slurps a file from remote nodes",
+        " 98│ssh                          connection    historical    False         connect via ssh client binary",
+        " 99│stat                         module        1.3           False         Retrieve file or file system status",
+        "100│su                           become        2.8           False         Substitute User",
+        "101│subelements                  lookup        1.4           False         traverse nested key from a list of dictionaries",
+        "102│subversion                   module        0.7           False         Deploys a subversion repository",
+        "103│sudo                         become        2.8           False         Substitute User DO",
+        "104│systemd                      module        2.2           False         Manage systemd units",
+        "105│sysvinit                     module        2.6           False         Manage SysV services.",
+        "106│tempfile                     module        2.3           False         Creates temporary files and directories",
+        "107│template                     lookup        0.9           False         retrieve contents of file after templating with Jinja2",
+        "108│template                     module        historical    False         Template a file out to a target host",
+        "109│together                     lookup        1.3           False         merges lists into synchronized list",
+        "110│toml                         inventory     2.8           False         Uses a specific TOML file as an inventory source.",
+        "111│tree                         callback      2.0           False         Save host events to files",
+        "112│unarchive                    module        1.4           False         Unpacks an archive after (optionally) copying it from the local machine",
+        "113│unvault                      lookup        2.10          False         read vaulted file(s) contents",
+        "114│uri                          module        1.1           False         Interacts with webservices",
+        "115│url                          lookup        1.9           False         return contents from URL",
+        "116│user                         module        0.2           False         Manage user accounts",
+        "117│validate_argument_spec       module        2.11          False         Validate role argument specs.",
+        "118│varnames                     lookup        2.8           False         Lookup matching variable names",
+        "119│vars                         lookup        2.5           False         Lookup templated value of variables",
+        "120│wait_for                     module        0.7           False         Waits for a condition before continuing",
+        "121│wait_for_connection          module        2.3           False         Waits until remote system is reachable/usable",
+        "122│winrm                        connection    2.0           False         Run tasks over Microsoft's WinRM",
+        "123│yaml                         inventory     2.4           False         Uses a specific YAML file as an inventory source.",
+        "124│yum                          module        historical    False         Manages packages with the I(yum) package manager",
+        "125│yum_repository               module        2.1           False         Add or remove YUM repositories",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/23.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/23.json
new file mode 100644
index 000000000..1b033b128
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/23.json
@@ -0,0 +1,112 @@
+{
+    "name": "test[23-:0-Browse ansible.builtin.add_host module]",
+    "index": 23,
+    "comment": "Browse ansible.builtin.add_host module",
+    "additional_information": {
+        "present": [
+            "ANSIBLE.BUILTIN.ADD_HOST"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "ANSIBLE.BUILTIN.ADD_HOST: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  name: ansible.builtin",
+        " 4│  path: /usr/local/lib/python3.8/site-packages/ansible",
+        " 5│  shadowed_by: []",
+        " 6│  version: 2.11.6.post0",
+        " 7│doc:",
+        " 8│  author:",
+        " 9│  - Ansible Core Team",
+        "10│  - Seth Vidal (@skvidal)",
+        "11│  description:",
+        "12│  - Use variables to create new hosts and groups in inventory for use in later plays",
+        "13│    of the same playbook.",
+        "14│  - Takes variables so you can define the new hosts more fully.",
+        "15│  - This module is also supported for Windows targets.",
+        "16│  module: add_host",
+        "17│  notes:",
+        "18│  - This module bypasses the play host loop and only runs once for all the hosts in",
+        "19│    the play, if you need it to iterate use a C(loop) construct. If you need to dynamically",
+        "20│    add all hosts targeted by a playbook for later use, the C(group_by) module is",
+        "21│    potentially a better choice.",
+        "22│  - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and",
+        "23│    newer.",
+        "24│  - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead",
+        "25│    of the 'global inventory source', because you can now have multiple sources.  An",
+        "26│    example was added that shows how to partially restore the previous behaviour.",
+        "27│  - Windows targets are supported by this module.",
+        "28│  - Though this module does not change the remote host, we do provide 'changed' status",
+        "29│    as it can be useful for those trying to track inventory changes.",
+        "30│  options:",
+        "31│    groups:",
+        "32│      aliases:",
+        "33│      - group",
+        "34│      - groupname",
+        "35│      description:",
+        "36│      - The groups to add the hostname to.",
+        "37│      type: list",
+        "38│    name:",
+        "39│      aliases:",
+        "40│      - host",
+        "41│      - hostname",
+        "42│      description:",
+        "43│      - The hostname/ip of the host to add to the inventory, can include a colon and",
+        "44│        a port number.",
+        "45│      required: true",
+        "46│      type: str",
+        "47│  seealso:",
+        "48│  - module: ansible.builtin.group_by",
+        "49│  short_description: Add a host (and alternatively a group) to the ansible-playbook",
+        "50│    in-memory inventory",
+        "51│  version_added: '0.9'",
+        "52│  version_added_collection: ansible.builtin",
+        "53│examples: |-",
+        "54│  - name: Add host to group 'just_created' with variable foo=42",
+        "55│    add_host:",
+        "56│      name: '{{ ip_from_ec2 }}'",
+        "57│      groups: just_created",
+        "58│      foo: 42",
+        "59│",
+        "60│  - name: Add host to multiple groups",
+        "61│    add_host:",
+        "62│      hostname: '{{ new_ip }}'",
+        "63│      groups:",
+        "64│      - group1",
+        "65│      - group2",
+        "66│",
+        "67│  - name: Add a host with a non-standard port local to your machines",
+        "68│    add_host:",
+        "69│      name: '{{ new_ip }}:{{ new_port }}'",
+        "70│",
+        "71│  - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)",
+        "72│    add_host:",
+        "73│      hostname: '{{ new_ip }}'",
+        "74│      ansible_ssh_host: '{{ inventory_hostname }}'",
+        "75│      ansible_ssh_port: '{{ new_port }}'",
+        "76│",
+        "77│  - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)",
+        "78│    add_host:",
+        "79│      hostname: '{{ new_ip }}'",
+        "80│      ansible_host: '{{ inventory_hostname }}'",
+        "81│      ansible_port: '{{ new_port }}'",
+        "82│",
+        "83│  - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)",
+        "84│    add_host:",
+        "85│      hostname: charlie",
+        "86│      inventory_dir: '{{ inventory_dir }}'",
+        "87│",
+        "88│  - name: Add all hosts running this playbook to the done group",
+        "89│    add_host:",
+        "90│      name: '{{ item }}'",
+        "91│      groups: done",
+        "92│    loop: \"{{ ansible_play_hosts }}\"",
+        "93│full_name: ansible.builtin.add_host",
+        "94│metadata: null",
+        "95│returndocs: null",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/0.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/0.json
index 6a14871ab..640746966 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/0.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/0.json
@@ -3,14 +3,19 @@
     "index": 0,
     "comment": "ansible-navigator collections top window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json
index 9261acb9d..88081b74d 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[01-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[01-:1-Browse company_name.coll_1 plugins window]",
     "index": 1,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json
index 1bd5a7444..729440382 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json
@@ -3,14 +3,19 @@
     "index": 10,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json
index 6d53c2d05..a5c1090e7 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[11-:1-Browse company_name.coll_2 plugins window]",
+    "name": "test[11-:2-Browse company_name.coll_2 plugins window]",
     "index": 11,
     "comment": "Browse company_name.coll_2 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json
index 7efef7a7f..33dcd5a64 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json
@@ -3,14 +3,19 @@
     "index": 16,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json
index 9d6d1ba2c..6ce28c207 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json
@@ -3,14 +3,19 @@
     "index": 17,
     "comment": "Provide an invalid ee value",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json
index 5c6c44689..ad4c6c4f2 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[18-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[18-:1-Browse company_name.coll_1 plugins window]",
     "index": 18,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/20.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/20.json
new file mode 100644
index 000000000..b2595d737
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/20.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[20-:back-Back to browse company_name.coll_1 plugins window]",
+    "index": 20,
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/21.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/21.json
new file mode 100644
index 000000000..d4de0cd0f
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/21.json
@@ -0,0 +1,21 @@
+{
+    "name": "test[21-:back-Back to ansible-navigator collections browse window]",
+    "index": 21,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "  NAME                         VERSION    SHADOWED     PATH",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/22.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/22.json
new file mode 100644
index 000000000..38a298f1b
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/22.json
@@ -0,0 +1,140 @@
+{
+    "name": "test[22-:0-Browse ansible.builtin plugins window]",
+    "index": 22,
+    "comment": "Browse ansible.builtin plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "    ANSIBLE.BUILTIN              TYPE          ADDED         DEPRECATED    DESCRIPTION",
+        "  0│add_host                     module        0.9           False         Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        "  1│advanced_host_list           inventory     2.4           False         Parses a 'host list' with ranges",
+        "  2│apt                          module        0.0.2         False         Manages apt-packages",
+        "  3│apt_key                      module        1.0           False         Add or remove an apt key",
+        "  4│apt_repository               module        0.7           False         Add and remove APT repositories",
+        "  5│assemble                     module        0.5           False         Assemble configuration files from fragments",
+        "  6│assert                       module        1.5           False         Asserts given expressions are true",
+        "  7│async_status                 module        0.5           False         Obtain status of asynchronous task",
+        "  8│auto                         inventory     2.5           False         Loads and executes an inventory plugin specified in a YAML config",
+        "  9│blockinfile                  module        2.0           False         Insert/update/remove a text block surrounded by marker lines",
+        " 10│cmd                          shell         2.8           False         Windows Command Prompt",
+        " 11│command                      module        historical    False         Execute commands on targets",
+        " 12│config                       lookup        2.5           False         Lookup current Ansible configuration values",
+        " 13│constructed                  inventory     2.4           False         Uses Jinja2 to construct vars and groups based on existing inventory.",
+        " 14│copy                         module        historical    False         Copy files to remote locations",
+        " 15│cron                         module        0.9           False         Manage cron.d and crontab entries",
+        " 16│csvfile                      lookup        1.5           False         read data from a TSV or CSV file",
+        " 17│debconf                      module        1.6           False         Configure a .deb package",
+        " 18│debug                        strategy      2.1           False         Executes tasks in interactive debug session.",
+        " 19│debug                        module        0.8           False         Print statements during execution",
+        " 20│default                      callback      historical    False         default Ansible screen output",
+        " 21│dict                         lookup        1.5           False         returns key/value pair items from dictionaries",
+        " 22│dnf                          module          1.9         False         Manages packages with the I(dnf) package manager",
+        " 23│dpkg_selections              module        2.0           False         Dpkg package selection selections",
+        " 24│env                          lookup        0.9           False         Read the value of environment variables",
+        " 25│expect                       module        2.0           False         Executes a command and responds to prompts",
+        " 26│fail                         module        0.8           False         Fail with custom message",
+        " 27│fetch                        module        0.2           False         Fetch files from remote nodes",
+        " 28│file                         lookup        0.9           False         read file contents",
+        " 29│file                         module        historical    False         Manage files and file properties",
+        " 30│fileglob                     lookup        1.4           False         list files matching a pattern",
+        " 31│find                         module        2.0           False         Return a list of files based on specific criteria",
+        " 32│first_found                  lookup        historical    False         return first file found from list",
+        " 33│free                         strategy      2.0           False         Executes tasks without waiting for all hosts",
+        " 34│gather_facts                 module          2.8         False         Gathers facts about remote hosts",
+        " 35│generator                    inventory     2.6           False         Uses Jinja2 to construct hosts and groups from patterns",
+        " 36│get_url                      module        0.6           False         Downloads files from HTTP, HTTPS, or FTP to node",
+        " 37│getent                       module        1.8           False         A wrapper to the unix getent utility",
+        " 38│git                          module        0.0.1         False         Deploy software (or files) from git checkouts",
+        " 39│group                        module        0.0.2         False         Add or remove groups",
+        " 40│group_by                     module        0.9           False         Create Ansible groups based on facts",
+        " 41│host_group_vars              vars          2.4           False         In charge of loading group_vars and host_vars",
+        " 42│host_list                    inventory     2.4           False         Parses a 'host list' string",
+        " 43│host_pinned                  strategy      2.7           False         Executes tasks on each host without interruption",
+        " 44│hostname                     module        1.4           False         Manage hostname",
+        " 45│import_playbook              module        2.4           False         Import a playbook",
+        " 46│import_role                  module        2.4           False         Import a role into a play",
+        " 47│import_tasks                 module        2.4           False         Import a task list",
+        " 48│include                      module        0.6           False         Include a play or task list",
+        " 49│include_role                 module        2.2           False         Load and execute a role",
+        " 50│include_tasks                module        2.4           False         Dynamically include a task list",
+        " 51│include_vars                 module        1.4           False         Load variables from files, dynamically within a task",
+        " 52│indexed_items                lookup        1.3           False         rewrites lists to return 'indexed items'",
+        " 53│ini                          inventory     2.4           False         Uses an Ansible INI file as inventory source.",
+        " 54│ini                          lookup        2.0           False         read data from a ini file",
+        " 55│inventory_hostnames          lookup        1.3           False         list of inventory hosts matching a host pattern",
+        " 56│iptables                     module        2.0           False         Modify iptables rules",
+        " 57│items                        lookup        historical    False         list of items",
+        " 58│jsonfile                     cache         1.9           False         JSON formatted files.",
+        " 59│junit                        callback      historical    False         write playbook output to a JUnit file.",
+        " 60│known_hosts                  module        1.9           False         Add or remove a host from the C(known_hosts) file",
+        " 61│linear                       strategy      2.0           False         Executes tasks in a linear fashion",
+        " 62│lineinfile                   module        0.7           False         Manage lines in text files",
+        " 63│lines                        lookup        0.9           False         read lines from command",
+        " 64│list                         lookup        2.0           False         simply returns what it is given.",
+        " 65│local                        connection    historical    False         execute on controller",
+        " 66│memory                       cache         historical    False         RAM backed, non persistent",
+        " 67│meta                         module        1.2           False         Execute Ansible 'actions'",
+        " 68│minimal                      callback      historical    False         minimal Ansible screen output",
+        " 69│nested                       lookup        1.1           False         composes a list with nested elements of other lists",
+        " 70│oneline                      callback      historical    False         oneline Ansible screen output",
+        " 71│package                      module          2.0         False         Generic OS package manager",
+        " 72│package_facts                module        2.5           False         Package information as facts",
+        " 73│paramiko                     connection    0.1           False         Run tasks via python ssh (paramiko)",
+        " 74│password                     lookup        1.1           False         retrieve or generate a random password, stored in a file",
+        " 75│pause                        module        0.8           False         Pause playbook execution",
+        " 76│ping                         module        historical    False         Try to connect to host, verify a usable python and return C(pong) on success",
+        " 77│pip                          module        0.7           False         Manages Python library dependencies",
+        " 78│pipe                         lookup        0.9           False         read output from a command",
+        " 79│powershell                   shell         historical    False         Windows PowerShell",
+        " 80│psrp                         connection    2.7           False         Run tasks over Microsoft PowerShell Remoting Protocol",
+        " 81│random_choice                lookup        1.1           False         return random element from list",
+        " 82│raw                          module        historical    False         Executes a low-down and dirty command",
+        " 83│reboot                       module        2.7           False         Reboot a machine",
+        " 84│replace                      module        1.6           False         Replace all instances of a particular string in a file using a back-referenced regular expression",
+        " 85│rpm_key                      module        1.3           False         Adds or removes a gpg key from the rpm db",
+        " 86│runas                        become        2.8           False         Run As user",
+        " 87│script                       inventory     2.4           False         Executes an inventory script that returns JSON",
+        " 88│script                       module        0.9           False         Runs a local script on a remote node after transferring it",
+        " 89│sequence                     lookup        1.0           False         generate a list based on a number sequence",
+        " 90│service                      module        0.1           False         Manage services",
+        " 91│service_facts                module        2.5           False         Return service state information as fact data",
+        " 92│set_fact                     module        1.2           False         Set host variable(s) and fact(s).",
+        " 93│set_stats                    module        2.3           False         Define and display stats for the current ansible run",
+        " 94│setup                        module        historical    False         Gathers facts about remote hosts",
+        " 95│sh                           shell         historical    False         POSIX shell (/bin/sh)",
+        " 96│shell                        module        0.2           False         Execute shell commands on targets",
+        " 97│slurp                        module        historical    False         Slurps a file from remote nodes",
+        " 98│ssh                          connection    historical    False         connect via SSH client binary",
+        " 99│stat                         module        1.3           False         Retrieve file or file system status",
+        "100│su                           become        2.8           False         Substitute User",
+        "101│subelements                  lookup        1.4           False         traverse nested key from a list of dictionaries",
+        "102│subversion                   module        0.7           False         Deploys a subversion repository",
+        "103│sudo                         become        2.8           False         Substitute User DO",
+        "104│systemd                      module        2.2           False         Manage systemd units",
+        "105│sysvinit                     module        2.6           False         Manage SysV services.",
+        "106│tempfile                     module        2.3           False         Creates temporary files and directories",
+        "107│template                     lookup        0.9           False         retrieve contents of file after templating with Jinja2",
+        "108│template                     module        historical    False         Template a file out to a target host",
+        "109│together                     lookup        1.3           False         merges lists into synchronized list",
+        "110│toml                         inventory     2.8           False         Uses a specific TOML file as an inventory source.",
+        "111│tree                         callback      2.0           False         Save host events to files",
+        "112│unarchive                    module        1.4           False         Unpacks an archive after (optionally) copying it from the local machine",
+        "113│unvault                      lookup        2.10          False         read vaulted file(s) contents",
+        "114│uri                          module        1.1           False         Interacts with webservices",
+        "115│url                          lookup        1.9           False         return contents from URL",
+        "116│user                         module        0.2           False         Manage user accounts",
+        "117│validate_argument_spec       module        2.11          False         Validate role argument specs.",
+        "118│varnames                     lookup        2.8           False         Lookup matching variable names",
+        "119│vars                         lookup        2.5           False         Lookup templated value of variables",
+        "120│wait_for                     module        0.7           False         Waits for a condition before continuing",
+        "121│wait_for_connection          module        2.3           False         Waits until remote system is reachable/usable",
+        "122│winrm                        connection    2.0           False         Run tasks over Microsoft's WinRM",
+        "123│yaml                         inventory     2.4           False         Uses a specific YAML file as an inventory source.",
+        "124│yum                          module        historical    False         Manages packages with the I(yum) package manager",
+        "125│yum_repository               module        2.1           False         Add or remove YUM repositories",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/23.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/23.json
new file mode 100644
index 000000000..10f68b5ed
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/23.json
@@ -0,0 +1,170 @@
+{
+    "name": "test[23-:0-Browse ansible.builtin.add_host module]",
+    "index": 23,
+    "comment": "Browse ansible.builtin.add_host module",
+    "additional_information": {
+        "present": [
+            "ANSIBLE.BUILTIN.ADD_HOST"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "ANSIBLE.BUILTIN.ADD_HOST: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        "  0│---",
+        "  1│additional_information: {}",
+        "  2│collection_info:",
+        "  3│  name: ansible.builtin",
+        "  4│  path: /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "  5│  shadowed_by: []",
+        "  6│  version: 2.12.3",
+        "  7│doc:",
+        "  8│  attributes:",
+        "  9│    action:",
+        " 10│      description: Indicates this has a corresponding action plugin so some parts",
+        " 11│        of the options can be executed on the controller",
+        " 12│      support: full",
+        " 13│    async:",
+        " 14│      description: Supports being used with the C(async) keyword",
+        " 15│      support: none",
+        " 16│    become:",
+        " 17│      description: Is usable alongside become keywords",
+        " 18│      support: none",
+        " 19│    bypass_host_loop:",
+        " 20│      description:",
+        " 21│      - Forces a 'global' task that does not execute per host, this bypasses per host",
+        " 22│        templating and serial, throttle and other loop considerations",
+        " 23│      - Conditionals will work as if C(run_once) is being used, variables used will",
+        " 24│        be from the first available host",
+        " 25│      - This action will not work normally outside of lockstep strategies",
+        " 26│      support: full",
+        " 27│    bypass_task_loop:",
+        " 28│      description: These tasks ignore the C(loop) and C(with_) keywords",
+        " 29│      support: none",
+        " 30│    check_mode:",
+        " 31│      description: Can run in check_mode and return changed status prediction withought",
+        " 32│        modifying target",
+        " 33│      details: While this makes no changes to target systems the 'in memory' inventory",
+        " 34│        will still be altered",
+        " 35│      support: partial",
+        " 36│    connection:",
+        " 37│      description: Uses the target's configured connection information to execute",
+        " 38│        code on it",
+        " 39│      support: none",
+        " 40│    core:",
+        " 41│      description: This is a 'core engine' feature and is not implemented like most",
+        " 42│        task actions, so it is not overridable in any way via the plugin system.",
+        " 43│      details: While parts of this action are implemented in core, other parts are",
+        " 44│        still available as normal plugins and can be partially overridden",
+        " 45│      support: partial",
+        " 46│    delegation:",
+        " 47│      description: Can be used in conjunction with delegate_to and related keywords",
+        " 48│      support: none",
+        " 49│    diff_mode:",
+        " 50│      description: Will return details on what has changed (or possibly needs changing",
+        " 51│        in check_mode), when in diff mode",
+        " 52│      support: none",
+        " 53│    ignore_conditional:",
+        " 54│      description: The action is not subject to conditional execution so it will ignore",
+        " 55│        the C(when:) keyword",
+        " 56│      support: none",
+        " 57│    platform:",
+        " 58│      description: Target OS/families that can be operated against",
+        " 59│      platforms: all",
+        " 60│      support: N/A",
+        " 61│    tags:",
+        " 62│      description: Allows for the 'tags' keyword to control the selection of this",
+        " 63│        action for execution",
+        " 64│      support: full",
+        " 65│    until:",
+        " 66│      description: Denotes if this action objeys until/retry/poll keywords",
+        " 67│      support: full",
+        " 68│  author:",
+        " 69│  - Ansible Core Team",
+        " 70│  - Seth Vidal (@skvidal)",
+        " 71│  description:",
+        " 72│  - Use variables to create new hosts and groups in inventory for use in later plays",
+        " 73│    of the same playbook.",
+        " 74│  - Takes variables so you can define the new hosts more fully.",
+        " 75│  - This module is also supported for Windows targets.",
+        " 76│  module: add_host",
+        " 77│  notes:",
+        " 78│  - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and",
+        " 79│    newer.",
+        " 80│  - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead",
+        " 81│    of the 'global inventory source', because you can now have multiple sources.  An",
+        " 82│    example was added that shows how to partially restore the previous behaviour.",
+        " 83│  - Though this module does not change the remote host, we do provide 'changed' status",
+        " 84│    as it can be useful for those trying to track inventory changes.",
+        " 85│  - The hosts added will not bypass the C(--limit) from the command line, so both",
+        " 86│    of those need to be in agreement to make them available as play targets. They",
+        " 87│    are still available from hostvars and for delegation as a normal part of the inventory.",
+        " 88│  options:",
+        " 89│    groups:",
+        " 90│      aliases:",
+        " 91│      - group",
+        " 92│      - groupname",
+        " 93│      description:",
+        " 94│      - The groups to add the hostname to.",
+        " 95│      type: list",
+        " 96│    name:",
+        " 97│      aliases:",
+        " 98│      - host",
+        " 99│      - hostname",
+        "100│      description:",
+        "101│      - The hostname/ip of the host to add to the inventory, can include a colon and",
+        "102│        a port number.",
+        "103│      required: true",
+        "104│      type: str",
+        "105│  seealso:",
+        "106│  - module: ansible.builtin.group_by",
+        "107│  short_description: Add a host (and alternatively a group) to the ansible-playbook",
+        "108│    in-memory inventory",
+        "109│  version_added: '0.9'",
+        "110│  version_added_collection: ansible.builtin",
+        "111│examples: |-",
+        "112│  - name: Add host to group 'just_created' with variable foo=42",
+        "113│    add_host:",
+        "114│      name: '{{ ip_from_ec2 }}'",
+        "115│      groups: just_created",
+        "116│      foo: 42",
+        "117│",
+        "118│  - name: Add host to multiple groups",
+        "119│    add_host:",
+        "120│      hostname: '{{ new_ip }}'",
+        "121│      groups:",
+        "122│      - group1",
+        "123│      - group2",
+        "124│",
+        "125│  - name: Add a host with a non-standard port local to your machines",
+        "126│    add_host:",
+        "127│      name: '{{ new_ip }}:{{ new_port }}'",
+        "128│",
+        "129│  - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)",
+        "130│    add_host:",
+        "131│      hostname: '{{ new_ip }}'",
+        "132│      ansible_ssh_host: '{{ inventory_hostname }}'",
+        "133│      ansible_ssh_port: '{{ new_port }}'",
+        "134│",
+        "135│  - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)",
+        "136│    add_host:",
+        "137│      hostname: '{{ new_ip }}'",
+        "138│      ansible_host: '{{ inventory_hostname }}'",
+        "139│      ansible_port: '{{ new_port }}'",
+        "140│",
+        "141│  - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)",
+        "142│    add_host:",
+        "143│      hostname: charlie",
+        "144│      inventory_dir: '{{ inventory_dir }}'",
+        "145│",
+        "146│  - name: Add all hosts running this playbook to the done group",
+        "147│    add_host:",
+        "148│      name: '{{ item }}'",
+        "149│      groups: done",
+        "150│    loop: \"{{ ansible_play_hosts }}\"",
+        "151│full_name: ansible.builtin.add_host",
+        "152│metadata: null",
+        "153│returndocs: null",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/1.json
index 85b545e43..83deaa831 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/1.json
@@ -3,14 +3,19 @@
     "index": 1,
     "comment": "enter collections from welcome screen",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json
index 3ecb422e6..7e0ff14ff 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json
@@ -3,14 +3,19 @@
     "index": 11,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json
index a14693944..9de2ab8de 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[12-:1-Browse company_name.coll_2 plugins window]",
+    "name": "test[12-:2-Browse company_name.coll_2 plugins window]",
     "index": 12,
     "comment": "Browse company_name.coll_2 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json
index 2aff484dd..2b1c117fd 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json
@@ -3,14 +3,19 @@
     "index": 17,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json
index e8bac731e..b1f1a192d 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json
@@ -3,14 +3,19 @@
     "index": 18,
     "comment": "Provide an invalid ee value",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json
index 500af1db9..c7d6560d6 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[19-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[19-:1-Browse company_name.coll_1 plugins window]",
     "index": 19,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json
index 10b7d23cc..3929e9339 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[02-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[02-:1-Browse company_name.coll_1 plugins window]",
     "index": 2,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/21.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/21.json
new file mode 100644
index 000000000..ce2544178
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/21.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[21-:back-Back to browse company_name.coll_1 plugins window]",
+    "index": 21,
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/22.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/22.json
new file mode 100644
index 000000000..39c57f765
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/22.json
@@ -0,0 +1,21 @@
+{
+    "name": "test[22-:back-Back to ansible-navigator collections browse window]",
+    "index": 22,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "  NAME                      VERSION          SHADOWED    TYPE          PATH",
+        "0│ansible.builtin           2.11.6.post0        False    contained     /usr/local/lib/python3.8/site-packages/ansible",
+        "1│company_name.coll_1       1.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2       2.0.0               False    bind_mount    FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/23.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/23.json
new file mode 100644
index 000000000..4f3899834
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/23.json
@@ -0,0 +1,140 @@
+{
+    "name": "test[23-:0-Browse ansible.builtin plugins window]",
+    "index": 23,
+    "comment": "Browse ansible.builtin plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "    ANSIBLE.BUILTIN              TYPE          ADDED         DEPRECATED    DESCRIPTION",
+        "  0│add_host                     module        0.9           False         Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        "  1│advanced_host_list           inventory     2.4           False         Parses a 'host list' with ranges",
+        "  2│apt                          module        0.0.2         False         Manages apt-packages",
+        "  3│apt_key                      module        1.0           False         Add or remove an apt key",
+        "  4│apt_repository               module        0.7           False         Add and remove APT repositories",
+        "  5│assemble                     module        0.5           False         Assemble configuration files from fragments",
+        "  6│assert                       module        1.5           False         Asserts given expressions are true",
+        "  7│async_status                 module        0.5           False         Obtain status of asynchronous task",
+        "  8│auto                         inventory     2.5           False         Loads and executes an inventory plugin specified in a YAML config",
+        "  9│blockinfile                  module        2.0           False         Insert/update/remove a text block surrounded by marker lines",
+        " 10│cmd                          shell         2.8           False         Windows Command Prompt",
+        " 11│command                      module        historical    False         Execute commands on targets",
+        " 12│config                       lookup        2.5           False         Lookup current Ansible configuration values",
+        " 13│constructed                  inventory     2.4           False         Uses Jinja2 to construct vars and groups based on existing inventory.",
+        " 14│copy                         module        historical    False         Copy files to remote locations",
+        " 15│cron                         module        0.9           False         Manage cron.d and crontab entries",
+        " 16│csvfile                      lookup        1.5           False         read data from a TSV or CSV file",
+        " 17│debconf                      module        1.6           False         Configure a .deb package",
+        " 18│debug                        strategy      2.1           False         Executes tasks in interactive debug session.",
+        " 19│debug                        module        0.8           False         Print statements during execution",
+        " 20│default                      callback      historical    False         default Ansible screen output",
+        " 21│dict                         lookup        1.5           False         returns key/value pair items from dictionaries",
+        " 22│dnf                          module          1.9         False         Manages packages with the I(dnf) package manager",
+        " 23│dpkg_selections              module        2.0           False         Dpkg package selection selections",
+        " 24│env                          lookup        0.9           False         Read the value of environment variables",
+        " 25│expect                       module        2.0           False         Executes a command and responds to prompts",
+        " 26│fail                         module        0.8           False         Fail with custom message",
+        " 27│fetch                        module        0.2           False         Fetch files from remote nodes",
+        " 28│file                         lookup        0.9           False         read file contents",
+        " 29│file                         module        historical    False         Manage files and file properties",
+        " 30│fileglob                     lookup        1.4           False         list files matching a pattern",
+        " 31│find                         module        2.0           False         Return a list of files based on specific criteria",
+        " 32│first_found                  lookup        historical    False         return first file found from list",
+        " 33│free                         strategy      2.0           False         Executes tasks without waiting for all hosts",
+        " 34│gather_facts                 module          2.8         False         Gathers facts about remote hosts",
+        " 35│generator                    inventory     2.6           False         Uses Jinja2 to construct hosts and groups from patterns",
+        " 36│get_url                      module        0.6           False         Downloads files from HTTP, HTTPS, or FTP to node",
+        " 37│getent                       module        1.8           False         A wrapper to the unix getent utility",
+        " 38│git                          module        0.0.1         False         Deploy software (or files) from git checkouts",
+        " 39│group                        module        0.0.2         False         Add or remove groups",
+        " 40│group_by                     module        0.9           False         Create Ansible groups based on facts",
+        " 41│host_group_vars              vars          2.4           False         In charge of loading group_vars and host_vars",
+        " 42│host_list                    inventory     2.4           False         Parses a 'host list' string",
+        " 43│host_pinned                  strategy      2.7           False         Executes tasks on each host without interruption",
+        " 44│hostname                     module        1.4           False         Manage hostname",
+        " 45│import_playbook              module        2.4           False         Import a playbook",
+        " 46│import_role                  module        2.4           False         Import a role into a play",
+        " 47│import_tasks                 module        2.4           False         Import a task list",
+        " 48│include                      module        0.6           False         Include a play or task list",
+        " 49│include_role                 module        2.2           False         Load and execute a role",
+        " 50│include_tasks                module        2.4           False         Dynamically include a task list",
+        " 51│include_vars                 module        1.4           False         Load variables from files, dynamically within a task",
+        " 52│indexed_items                lookup        1.3           False         rewrites lists to return 'indexed items'",
+        " 53│ini                          inventory     2.4           False         Uses an Ansible INI file as inventory source.",
+        " 54│ini                          lookup        2.0           False         read data from a ini file",
+        " 55│inventory_hostnames          lookup        1.3           False         list of inventory hosts matching a host pattern",
+        " 56│iptables                     module        2.0           False         Modify iptables rules",
+        " 57│items                        lookup        historical    False         list of items",
+        " 58│jsonfile                     cache         1.9           False         JSON formatted files.",
+        " 59│junit                        callback      historical    False         write playbook output to a JUnit file.",
+        " 60│known_hosts                  module        1.9           False         Add or remove a host from the C(known_hosts) file",
+        " 61│linear                       strategy      2.0           False         Executes tasks in a linear fashion",
+        " 62│lineinfile                   module        0.7           False         Manage lines in text files",
+        " 63│lines                        lookup        0.9           False         read lines from command",
+        " 64│list                         lookup        2.0           False         simply returns what it is given.",
+        " 65│local                        connection    historical    False         execute on controller",
+        " 66│memory                       cache         historical    False         RAM backed, non persistent",
+        " 67│meta                         module        1.2           False         Execute Ansible 'actions'",
+        " 68│minimal                      callback      historical    False         minimal Ansible screen output",
+        " 69│nested                       lookup        1.1           False         composes a list with nested elements of other lists",
+        " 70│oneline                      callback      historical    False         oneline Ansible screen output",
+        " 71│package                      module          2.0         False         Generic OS package manager",
+        " 72│package_facts                module        2.5           False         Package information as facts",
+        " 73│paramiko                     connection    0.1           False         Run tasks via python ssh (paramiko)",
+        " 74│password                     lookup        1.1           False         retrieve or generate a random password, stored in a file",
+        " 75│pause                        module        0.8           False         Pause playbook execution",
+        " 76│ping                         module        historical    False         Try to connect to host, verify a usable python and return C(pong) on success",
+        " 77│pip                          module        0.7           False         Manages Python library dependencies",
+        " 78│pipe                         lookup        0.9           False         read output from a command",
+        " 79│powershell                   shell         historical    False         Windows PowerShell",
+        " 80│psrp                         connection    2.7           False         Run tasks over Microsoft PowerShell Remoting Protocol",
+        " 81│random_choice                lookup        1.1           False         return random element from list",
+        " 82│raw                          module        historical    False         Executes a low-down and dirty command",
+        " 83│reboot                       module        2.7           False         Reboot a machine",
+        " 84│replace                      module        1.6           False         Replace all instances of a particular string in a file using a back-referenced regular expression",
+        " 85│rpm_key                      module        1.3           False         Adds or removes a gpg key from the rpm db",
+        " 86│runas                        become        2.8           False         Run As user",
+        " 87│script                       inventory     2.4           False         Executes an inventory script that returns JSON",
+        " 88│script                       module        0.9           False         Runs a local script on a remote node after transferring it",
+        " 89│sequence                     lookup        1.0           False         generate a list based on a number sequence",
+        " 90│service                      module        0.1           False         Manage services",
+        " 91│service_facts                module        2.5           False         Return service state information as fact data",
+        " 92│set_fact                     module        1.2           False         Set host variable(s) and fact(s).",
+        " 93│set_stats                    module        2.3           False         Define and display stats for the current ansible run",
+        " 94│setup                        module        historical    False         Gathers facts about remote hosts",
+        " 95│sh                           shell         historical    False         POSIX shell (/bin/sh)",
+        " 96│shell                        module        0.2           False         Execute shell commands on targets",
+        " 97│slurp                        module        historical    False         Slurps a file from remote nodes",
+        " 98│ssh                          connection    historical    False         connect via ssh client binary",
+        " 99│stat                         module        1.3           False         Retrieve file or file system status",
+        "100│su                           become        2.8           False         Substitute User",
+        "101│subelements                  lookup        1.4           False         traverse nested key from a list of dictionaries",
+        "102│subversion                   module        0.7           False         Deploys a subversion repository",
+        "103│sudo                         become        2.8           False         Substitute User DO",
+        "104│systemd                      module        2.2           False         Manage systemd units",
+        "105│sysvinit                     module        2.6           False         Manage SysV services.",
+        "106│tempfile                     module        2.3           False         Creates temporary files and directories",
+        "107│template                     lookup        0.9           False         retrieve contents of file after templating with Jinja2",
+        "108│template                     module        historical    False         Template a file out to a target host",
+        "109│together                     lookup        1.3           False         merges lists into synchronized list",
+        "110│toml                         inventory     2.8           False         Uses a specific TOML file as an inventory source.",
+        "111│tree                         callback      2.0           False         Save host events to files",
+        "112│unarchive                    module        1.4           False         Unpacks an archive after (optionally) copying it from the local machine",
+        "113│unvault                      lookup        2.10          False         read vaulted file(s) contents",
+        "114│uri                          module        1.1           False         Interacts with webservices",
+        "115│url                          lookup        1.9           False         return contents from URL",
+        "116│user                         module        0.2           False         Manage user accounts",
+        "117│validate_argument_spec       module        2.11          False         Validate role argument specs.",
+        "118│varnames                     lookup        2.8           False         Lookup matching variable names",
+        "119│vars                         lookup        2.5           False         Lookup templated value of variables",
+        "120│wait_for                     module        0.7           False         Waits for a condition before continuing",
+        "121│wait_for_connection          module        2.3           False         Waits until remote system is reachable/usable",
+        "122│winrm                        connection    2.0           False         Run tasks over Microsoft's WinRM",
+        "123│yaml                         inventory     2.4           False         Uses a specific YAML file as an inventory source.",
+        "124│yum                          module        historical    False         Manages packages with the I(yum) package manager",
+        "125│yum_repository               module        2.1           False         Add or remove YUM repositories",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/24.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/24.json
new file mode 100644
index 000000000..0bd979a76
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/24.json
@@ -0,0 +1,112 @@
+{
+    "name": "test[24-:0-Browse ansible.builtin.add_host module]",
+    "index": 24,
+    "comment": "Browse ansible.builtin.add_host module",
+    "additional_information": {
+        "present": [
+            "ANSIBLE.BUILTIN.ADD_HOST"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "ANSIBLE.BUILTIN.ADD_HOST: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  name: ansible.builtin",
+        " 4│  path: /usr/local/lib/python3.8/site-packages/ansible",
+        " 5│  shadowed_by: []",
+        " 6│  version: 2.11.6.post0",
+        " 7│doc:",
+        " 8│  author:",
+        " 9│  - Ansible Core Team",
+        "10│  - Seth Vidal (@skvidal)",
+        "11│  description:",
+        "12│  - Use variables to create new hosts and groups in inventory for use in later plays",
+        "13│    of the same playbook.",
+        "14│  - Takes variables so you can define the new hosts more fully.",
+        "15│  - This module is also supported for Windows targets.",
+        "16│  module: add_host",
+        "17│  notes:",
+        "18│  - This module bypasses the play host loop and only runs once for all the hosts in",
+        "19│    the play, if you need it to iterate use a C(loop) construct. If you need to dynamically",
+        "20│    add all hosts targeted by a playbook for later use, the C(group_by) module is",
+        "21│    potentially a better choice.",
+        "22│  - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and",
+        "23│    newer.",
+        "24│  - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead",
+        "25│    of the 'global inventory source', because you can now have multiple sources.  An",
+        "26│    example was added that shows how to partially restore the previous behaviour.",
+        "27│  - Windows targets are supported by this module.",
+        "28│  - Though this module does not change the remote host, we do provide 'changed' status",
+        "29│    as it can be useful for those trying to track inventory changes.",
+        "30│  options:",
+        "31│    groups:",
+        "32│      aliases:",
+        "33│      - group",
+        "34│      - groupname",
+        "35│      description:",
+        "36│      - The groups to add the hostname to.",
+        "37│      type: list",
+        "38│    name:",
+        "39│      aliases:",
+        "40│      - host",
+        "41│      - hostname",
+        "42│      description:",
+        "43│      - The hostname/ip of the host to add to the inventory, can include a colon and",
+        "44│        a port number.",
+        "45│      required: true",
+        "46│      type: str",
+        "47│  seealso:",
+        "48│  - module: ansible.builtin.group_by",
+        "49│  short_description: Add a host (and alternatively a group) to the ansible-playbook",
+        "50│    in-memory inventory",
+        "51│  version_added: '0.9'",
+        "52│  version_added_collection: ansible.builtin",
+        "53│examples: |-",
+        "54│  - name: Add host to group 'just_created' with variable foo=42",
+        "55│    add_host:",
+        "56│      name: '{{ ip_from_ec2 }}'",
+        "57│      groups: just_created",
+        "58│      foo: 42",
+        "59│",
+        "60│  - name: Add host to multiple groups",
+        "61│    add_host:",
+        "62│      hostname: '{{ new_ip }}'",
+        "63│      groups:",
+        "64│      - group1",
+        "65│      - group2",
+        "66│",
+        "67│  - name: Add a host with a non-standard port local to your machines",
+        "68│    add_host:",
+        "69│      name: '{{ new_ip }}:{{ new_port }}'",
+        "70│",
+        "71│  - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)",
+        "72│    add_host:",
+        "73│      hostname: '{{ new_ip }}'",
+        "74│      ansible_ssh_host: '{{ inventory_hostname }}'",
+        "75│      ansible_ssh_port: '{{ new_port }}'",
+        "76│",
+        "77│  - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)",
+        "78│    add_host:",
+        "79│      hostname: '{{ new_ip }}'",
+        "80│      ansible_host: '{{ inventory_hostname }}'",
+        "81│      ansible_port: '{{ new_port }}'",
+        "82│",
+        "83│  - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)",
+        "84│    add_host:",
+        "85│      hostname: charlie",
+        "86│      inventory_dir: '{{ inventory_dir }}'",
+        "87│",
+        "88│  - name: Add all hosts running this playbook to the done group",
+        "89│    add_host:",
+        "90│      name: '{{ item }}'",
+        "91│      groups: done",
+        "92│    loop: \"{{ ansible_play_hosts }}\"",
+        "93│full_name: ansible.builtin.add_host",
+        "94│metadata: null",
+        "95│returndocs: null",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/1.json
index abd171250..e455dff1e 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/1.json
@@ -3,14 +3,19 @@
     "index": 1,
     "comment": "enter collections from welcome screen",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json
index 49671dba6..12dcfa85c 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json
@@ -3,14 +3,19 @@
     "index": 11,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json
index a14693944..9de2ab8de 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[12-:1-Browse company_name.coll_2 plugins window]",
+    "name": "test[12-:2-Browse company_name.coll_2 plugins window]",
     "index": 12,
     "comment": "Browse company_name.coll_2 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json
index 9c6d39e68..f8197d6bc 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json
@@ -3,14 +3,19 @@
     "index": 17,
     "comment": "Back to ansible-navigator collections browse window",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json
index 6fa70933b..442d6eb93 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json
@@ -3,14 +3,19 @@
     "index": 18,
     "comment": "Provide an invalid ee value",
     "additional_information": {
-        "present": [],
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
         "absent": [],
-        "compared_fixture": true
+        "compared_fixture": false
     },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json
index 500af1db9..c7d6560d6 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[19-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[19-:1-Browse company_name.coll_1 plugins window]",
     "index": 19,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json
index 10b7d23cc..3929e9339 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json
@@ -1,5 +1,5 @@
 {
-    "name": "test[02-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[02-:1-Browse company_name.coll_1 plugins window]",
     "index": 2,
     "comment": "Browse company_name.coll_1 plugins window",
     "additional_information": {
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/21.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/21.json
new file mode 100644
index 000000000..ce2544178
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/21.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[21-:back-Back to browse company_name.coll_1 plugins window]",
+    "index": 21,
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/22.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/22.json
new file mode 100644
index 000000000..249f16956
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/22.json
@@ -0,0 +1,21 @@
+{
+    "name": "test[22-:back-Back to ansible-navigator collections browse window]",
+    "index": 22,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [
+            "ansible.builtin",
+            "company_name.coll_1",
+            "company_name.coll_2"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "  NAME                         VERSION    SHADOWED     PATH",
+        "0│ansible.builtin              2.12.3        False     /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "1│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "2│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/23.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/23.json
new file mode 100644
index 000000000..b7c4d00b2
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/23.json
@@ -0,0 +1,140 @@
+{
+    "name": "test[23-:0-Browse ansible.builtin plugins window]",
+    "index": 23,
+    "comment": "Browse ansible.builtin plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "    ANSIBLE.BUILTIN              TYPE          ADDED         DEPRECATED    DESCRIPTION",
+        "  0│add_host                     module        0.9           False         Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        "  1│advanced_host_list           inventory     2.4           False         Parses a 'host list' with ranges",
+        "  2│apt                          module        0.0.2         False         Manages apt-packages",
+        "  3│apt_key                      module        1.0           False         Add or remove an apt key",
+        "  4│apt_repository               module        0.7           False         Add and remove APT repositories",
+        "  5│assemble                     module        0.5           False         Assemble configuration files from fragments",
+        "  6│assert                       module        1.5           False         Asserts given expressions are true",
+        "  7│async_status                 module        0.5           False         Obtain status of asynchronous task",
+        "  8│auto                         inventory     2.5           False         Loads and executes an inventory plugin specified in a YAML config",
+        "  9│blockinfile                  module        2.0           False         Insert/update/remove a text block surrounded by marker lines",
+        " 10│cmd                          shell         2.8           False         Windows Command Prompt",
+        " 11│command                      module        historical    False         Execute commands on targets",
+        " 12│config                       lookup        2.5           False         Lookup current Ansible configuration values",
+        " 13│constructed                  inventory     2.4           False         Uses Jinja2 to construct vars and groups based on existing inventory.",
+        " 14│copy                         module        historical    False         Copy files to remote locations",
+        " 15│cron                         module        0.9           False         Manage cron.d and crontab entries",
+        " 16│csvfile                      lookup        1.5           False         read data from a TSV or CSV file",
+        " 17│debconf                      module        1.6           False         Configure a .deb package",
+        " 18│debug                        strategy      2.1           False         Executes tasks in interactive debug session.",
+        " 19│debug                        module        0.8           False         Print statements during execution",
+        " 20│default                      callback      historical    False         default Ansible screen output",
+        " 21│dict                         lookup        1.5           False         returns key/value pair items from dictionaries",
+        " 22│dnf                          module          1.9         False         Manages packages with the I(dnf) package manager",
+        " 23│dpkg_selections              module        2.0           False         Dpkg package selection selections",
+        " 24│env                          lookup        0.9           False         Read the value of environment variables",
+        " 25│expect                       module        2.0           False         Executes a command and responds to prompts",
+        " 26│fail                         module        0.8           False         Fail with custom message",
+        " 27│fetch                        module        0.2           False         Fetch files from remote nodes",
+        " 28│file                         lookup        0.9           False         read file contents",
+        " 29│file                         module        historical    False         Manage files and file properties",
+        " 30│fileglob                     lookup        1.4           False         list files matching a pattern",
+        " 31│find                         module        2.0           False         Return a list of files based on specific criteria",
+        " 32│first_found                  lookup        historical    False         return first file found from list",
+        " 33│free                         strategy      2.0           False         Executes tasks without waiting for all hosts",
+        " 34│gather_facts                 module          2.8         False         Gathers facts about remote hosts",
+        " 35│generator                    inventory     2.6           False         Uses Jinja2 to construct hosts and groups from patterns",
+        " 36│get_url                      module        0.6           False         Downloads files from HTTP, HTTPS, or FTP to node",
+        " 37│getent                       module        1.8           False         A wrapper to the unix getent utility",
+        " 38│git                          module        0.0.1         False         Deploy software (or files) from git checkouts",
+        " 39│group                        module        0.0.2         False         Add or remove groups",
+        " 40│group_by                     module        0.9           False         Create Ansible groups based on facts",
+        " 41│host_group_vars              vars          2.4           False         In charge of loading group_vars and host_vars",
+        " 42│host_list                    inventory     2.4           False         Parses a 'host list' string",
+        " 43│host_pinned                  strategy      2.7           False         Executes tasks on each host without interruption",
+        " 44│hostname                     module        1.4           False         Manage hostname",
+        " 45│import_playbook              module        2.4           False         Import a playbook",
+        " 46│import_role                  module        2.4           False         Import a role into a play",
+        " 47│import_tasks                 module        2.4           False         Import a task list",
+        " 48│include                      module        0.6           False         Include a play or task list",
+        " 49│include_role                 module        2.2           False         Load and execute a role",
+        " 50│include_tasks                module        2.4           False         Dynamically include a task list",
+        " 51│include_vars                 module        1.4           False         Load variables from files, dynamically within a task",
+        " 52│indexed_items                lookup        1.3           False         rewrites lists to return 'indexed items'",
+        " 53│ini                          inventory     2.4           False         Uses an Ansible INI file as inventory source.",
+        " 54│ini                          lookup        2.0           False         read data from a ini file",
+        " 55│inventory_hostnames          lookup        1.3           False         list of inventory hosts matching a host pattern",
+        " 56│iptables                     module        2.0           False         Modify iptables rules",
+        " 57│items                        lookup        historical    False         list of items",
+        " 58│jsonfile                     cache         1.9           False         JSON formatted files.",
+        " 59│junit                        callback      historical    False         write playbook output to a JUnit file.",
+        " 60│known_hosts                  module        1.9           False         Add or remove a host from the C(known_hosts) file",
+        " 61│linear                       strategy      2.0           False         Executes tasks in a linear fashion",
+        " 62│lineinfile                   module        0.7           False         Manage lines in text files",
+        " 63│lines                        lookup        0.9           False         read lines from command",
+        " 64│list                         lookup        2.0           False         simply returns what it is given.",
+        " 65│local                        connection    historical    False         execute on controller",
+        " 66│memory                       cache         historical    False         RAM backed, non persistent",
+        " 67│meta                         module        1.2           False         Execute Ansible 'actions'",
+        " 68│minimal                      callback      historical    False         minimal Ansible screen output",
+        " 69│nested                       lookup        1.1           False         composes a list with nested elements of other lists",
+        " 70│oneline                      callback      historical    False         oneline Ansible screen output",
+        " 71│package                      module          2.0         False         Generic OS package manager",
+        " 72│package_facts                module        2.5           False         Package information as facts",
+        " 73│paramiko                     connection    0.1           False         Run tasks via python ssh (paramiko)",
+        " 74│password                     lookup        1.1           False         retrieve or generate a random password, stored in a file",
+        " 75│pause                        module        0.8           False         Pause playbook execution",
+        " 76│ping                         module        historical    False         Try to connect to host, verify a usable python and return C(pong) on success",
+        " 77│pip                          module        0.7           False         Manages Python library dependencies",
+        " 78│pipe                         lookup        0.9           False         read output from a command",
+        " 79│powershell                   shell         historical    False         Windows PowerShell",
+        " 80│psrp                         connection    2.7           False         Run tasks over Microsoft PowerShell Remoting Protocol",
+        " 81│random_choice                lookup        1.1           False         return random element from list",
+        " 82│raw                          module        historical    False         Executes a low-down and dirty command",
+        " 83│reboot                       module        2.7           False         Reboot a machine",
+        " 84│replace                      module        1.6           False         Replace all instances of a particular string in a file using a back-referenced regular expression",
+        " 85│rpm_key                      module        1.3           False         Adds or removes a gpg key from the rpm db",
+        " 86│runas                        become        2.8           False         Run As user",
+        " 87│script                       inventory     2.4           False         Executes an inventory script that returns JSON",
+        " 88│script                       module        0.9           False         Runs a local script on a remote node after transferring it",
+        " 89│sequence                     lookup        1.0           False         generate a list based on a number sequence",
+        " 90│service                      module        0.1           False         Manage services",
+        " 91│service_facts                module        2.5           False         Return service state information as fact data",
+        " 92│set_fact                     module        1.2           False         Set host variable(s) and fact(s).",
+        " 93│set_stats                    module        2.3           False         Define and display stats for the current ansible run",
+        " 94│setup                        module        historical    False         Gathers facts about remote hosts",
+        " 95│sh                           shell         historical    False         POSIX shell (/bin/sh)",
+        " 96│shell                        module        0.2           False         Execute shell commands on targets",
+        " 97│slurp                        module        historical    False         Slurps a file from remote nodes",
+        " 98│ssh                          connection    historical    False         connect via SSH client binary",
+        " 99│stat                         module        1.3           False         Retrieve file or file system status",
+        "100│su                           become        2.8           False         Substitute User",
+        "101│subelements                  lookup        1.4           False         traverse nested key from a list of dictionaries",
+        "102│subversion                   module        0.7           False         Deploys a subversion repository",
+        "103│sudo                         become        2.8           False         Substitute User DO",
+        "104│systemd                      module        2.2           False         Manage systemd units",
+        "105│sysvinit                     module        2.6           False         Manage SysV services.",
+        "106│tempfile                     module        2.3           False         Creates temporary files and directories",
+        "107│template                     lookup        0.9           False         retrieve contents of file after templating with Jinja2",
+        "108│template                     module        historical    False         Template a file out to a target host",
+        "109│together                     lookup        1.3           False         merges lists into synchronized list",
+        "110│toml                         inventory     2.8           False         Uses a specific TOML file as an inventory source.",
+        "111│tree                         callback      2.0           False         Save host events to files",
+        "112│unarchive                    module        1.4           False         Unpacks an archive after (optionally) copying it from the local machine",
+        "113│unvault                      lookup        2.10          False         read vaulted file(s) contents",
+        "114│uri                          module        1.1           False         Interacts with webservices",
+        "115│url                          lookup        1.9           False         return contents from URL",
+        "116│user                         module        0.2           False         Manage user accounts",
+        "117│validate_argument_spec       module        2.11          False         Validate role argument specs.",
+        "118│varnames                     lookup        2.8           False         Lookup matching variable names",
+        "119│vars                         lookup        2.5           False         Lookup templated value of variables",
+        "120│wait_for                     module        0.7           False         Waits for a condition before continuing",
+        "121│wait_for_connection          module        2.3           False         Waits until remote system is reachable/usable",
+        "122│winrm                        connection    2.0           False         Run tasks over Microsoft's WinRM",
+        "123│yaml                         inventory     2.4           False         Uses a specific YAML file as an inventory source.",
+        "124│yum                          module        historical    False         Manages packages with the I(yum) package manager",
+        "125│yum_repository               module        2.1           False         Add or remove YUM repositories",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/24.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/24.json
new file mode 100644
index 000000000..3f7901961
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/24.json
@@ -0,0 +1,170 @@
+{
+    "name": "test[24-:0-Browse ansible.builtin.add_host module]",
+    "index": 24,
+    "comment": "Browse ansible.builtin.add_host module",
+    "additional_information": {
+        "present": [
+            "ANSIBLE.BUILTIN.ADD_HOST"
+        ],
+        "absent": [],
+        "compared_fixture": false
+    },
+    "output": [
+        "ANSIBLE.BUILTIN.ADD_HOST: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory",
+        "  0│---",
+        "  1│additional_information: {}",
+        "  2│collection_info:",
+        "  3│  name: ansible.builtin",
+        "  4│  path: /home/user/github/ansible-navigator/venv/lib64/python3.10/site-packages/ansible",
+        "  5│  shadowed_by: []",
+        "  6│  version: 2.12.3",
+        "  7│doc:",
+        "  8│  attributes:",
+        "  9│    action:",
+        " 10│      description: Indicates this has a corresponding action plugin so some parts",
+        " 11│        of the options can be executed on the controller",
+        " 12│      support: full",
+        " 13│    async:",
+        " 14│      description: Supports being used with the C(async) keyword",
+        " 15│      support: none",
+        " 16│    become:",
+        " 17│      description: Is usable alongside become keywords",
+        " 18│      support: none",
+        " 19│    bypass_host_loop:",
+        " 20│      description:",
+        " 21│      - Forces a 'global' task that does not execute per host, this bypasses per host",
+        " 22│        templating and serial, throttle and other loop considerations",
+        " 23│      - Conditionals will work as if C(run_once) is being used, variables used will",
+        " 24│        be from the first available host",
+        " 25│      - This action will not work normally outside of lockstep strategies",
+        " 26│      support: full",
+        " 27│    bypass_task_loop:",
+        " 28│      description: These tasks ignore the C(loop) and C(with_) keywords",
+        " 29│      support: none",
+        " 30│    check_mode:",
+        " 31│      description: Can run in check_mode and return changed status prediction withought",
+        " 32│        modifying target",
+        " 33│      details: While this makes no changes to target systems the 'in memory' inventory",
+        " 34│        will still be altered",
+        " 35│      support: partial",
+        " 36│    connection:",
+        " 37│      description: Uses the target's configured connection information to execute",
+        " 38│        code on it",
+        " 39│      support: none",
+        " 40│    core:",
+        " 41│      description: This is a 'core engine' feature and is not implemented like most",
+        " 42│        task actions, so it is not overridable in any way via the plugin system.",
+        " 43│      details: While parts of this action are implemented in core, other parts are",
+        " 44│        still available as normal plugins and can be partially overridden",
+        " 45│      support: partial",
+        " 46│    delegation:",
+        " 47│      description: Can be used in conjunction with delegate_to and related keywords",
+        " 48│      support: none",
+        " 49│    diff_mode:",
+        " 50│      description: Will return details on what has changed (or possibly needs changing",
+        " 51│        in check_mode), when in diff mode",
+        " 52│      support: none",
+        " 53│    ignore_conditional:",
+        " 54│      description: The action is not subject to conditional execution so it will ignore",
+        " 55│        the C(when:) keyword",
+        " 56│      support: none",
+        " 57│    platform:",
+        " 58│      description: Target OS/families that can be operated against",
+        " 59│      platforms: all",
+        " 60│      support: N/A",
+        " 61│    tags:",
+        " 62│      description: Allows for the 'tags' keyword to control the selection of this",
+        " 63│        action for execution",
+        " 64│      support: full",
+        " 65│    until:",
+        " 66│      description: Denotes if this action objeys until/retry/poll keywords",
+        " 67│      support: full",
+        " 68│  author:",
+        " 69│  - Ansible Core Team",
+        " 70│  - Seth Vidal (@skvidal)",
+        " 71│  description:",
+        " 72│  - Use variables to create new hosts and groups in inventory for use in later plays",
+        " 73│    of the same playbook.",
+        " 74│  - Takes variables so you can define the new hosts more fully.",
+        " 75│  - This module is also supported for Windows targets.",
+        " 76│  module: add_host",
+        " 77│  notes:",
+        " 78│  - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and",
+        " 79│    newer.",
+        " 80│  - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead",
+        " 81│    of the 'global inventory source', because you can now have multiple sources.  An",
+        " 82│    example was added that shows how to partially restore the previous behaviour.",
+        " 83│  - Though this module does not change the remote host, we do provide 'changed' status",
+        " 84│    as it can be useful for those trying to track inventory changes.",
+        " 85│  - The hosts added will not bypass the C(--limit) from the command line, so both",
+        " 86│    of those need to be in agreement to make them available as play targets. They",
+        " 87│    are still available from hostvars and for delegation as a normal part of the inventory.",
+        " 88│  options:",
+        " 89│    groups:",
+        " 90│      aliases:",
+        " 91│      - group",
+        " 92│      - groupname",
+        " 93│      description:",
+        " 94│      - The groups to add the hostname to.",
+        " 95│      type: list",
+        " 96│    name:",
+        " 97│      aliases:",
+        " 98│      - host",
+        " 99│      - hostname",
+        "100│      description:",
+        "101│      - The hostname/ip of the host to add to the inventory, can include a colon and",
+        "102│        a port number.",
+        "103│      required: true",
+        "104│      type: str",
+        "105│  seealso:",
+        "106│  - module: ansible.builtin.group_by",
+        "107│  short_description: Add a host (and alternatively a group) to the ansible-playbook",
+        "108│    in-memory inventory",
+        "109│  version_added: '0.9'",
+        "110│  version_added_collection: ansible.builtin",
+        "111│examples: |-",
+        "112│  - name: Add host to group 'just_created' with variable foo=42",
+        "113│    add_host:",
+        "114│      name: '{{ ip_from_ec2 }}'",
+        "115│      groups: just_created",
+        "116│      foo: 42",
+        "117│",
+        "118│  - name: Add host to multiple groups",
+        "119│    add_host:",
+        "120│      hostname: '{{ new_ip }}'",
+        "121│      groups:",
+        "122│      - group1",
+        "123│      - group2",
+        "124│",
+        "125│  - name: Add a host with a non-standard port local to your machines",
+        "126│    add_host:",
+        "127│      name: '{{ new_ip }}:{{ new_port }}'",
+        "128│",
+        "129│  - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)",
+        "130│    add_host:",
+        "131│      hostname: '{{ new_ip }}'",
+        "132│      ansible_ssh_host: '{{ inventory_hostname }}'",
+        "133│      ansible_ssh_port: '{{ new_port }}'",
+        "134│",
+        "135│  - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)",
+        "136│    add_host:",
+        "137│      hostname: '{{ new_ip }}'",
+        "138│      ansible_host: '{{ inventory_hostname }}'",
+        "139│      ansible_port: '{{ new_port }}'",
+        "140│",
+        "141│  - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)",
+        "142│    add_host:",
+        "143│      hostname: charlie",
+        "144│      inventory_dir: '{{ inventory_dir }}'",
+        "145│",
+        "146│  - name: Add all hosts running this playbook to the done group",
+        "147│    add_host:",
+        "148│      name: '{{ item }}'",
+        "149│      groups: done",
+        "150│    loop: \"{{ ansible_play_hosts }}\"",
+        "151│full_name: ansible.builtin.add_host",
+        "152│metadata: null",
+        "153│returndocs: null",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/integration/actions/collections/base.py b/tests/integration/actions/collections/base.py
index 9146f73fe..32efdbc86 100644
--- a/tests/integration/actions/collections/base.py
+++ b/tests/integration/actions/collections/base.py
@@ -16,8 +16,10 @@
 from ..._tmux_session import TmuxSession
 
 
+EXPECTED_COLLECTIONS = ["ansible.builtin", "company_name.coll_1", "company_name.coll_2"]
+
 base_steps = (
-    UiTestStep(user_input=":0", comment="Browse company_name.coll_1 plugins window"),
+    UiTestStep(user_input=":1", comment="Browse company_name.coll_1 plugins window"),
     UiTestStep(user_input=":0", comment="lookup_1 plugin docs window"),
     UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"),
     UiTestStep(user_input=":1", comment="mod_1 plugin docs window"),
@@ -26,18 +28,46 @@
     UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"),
     UiTestStep(user_input=":3", comment="role_minimal details window"),
     UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"),
-    UiTestStep(user_input=":back", comment="Back to ansible-navigator collections browse window"),
-    UiTestStep(user_input=":1", comment="Browse company_name.coll_2 plugins window"),
+    UiTestStep(
+        user_input=":back",
+        comment="Back to ansible-navigator collections browse window",
+        present=EXPECTED_COLLECTIONS,
+    ),
+    UiTestStep(user_input=":2", comment="Browse company_name.coll_2 plugins window"),
     UiTestStep(user_input=":0", comment="lookup_2 plugin docs window"),
     UiTestStep(user_input=":back", comment="Back to browse company_name.coll_2 plugins window"),
     UiTestStep(user_input=":1", comment="mod_2 plugin docs window"),
     UiTestStep(user_input=":back", comment="Back to browse company_name.coll_2 plugins window"),
-    UiTestStep(user_input=":back", comment="Back to ansible-navigator collections browse window"),
+    UiTestStep(
+        user_input=":back",
+        comment="Back to ansible-navigator collections browse window",
+        present=EXPECTED_COLLECTIONS,
+    ),
     # Try some things that should not work but not fail (#1061 and #1062)
-    UiTestStep(user_input=":collections --ee FFFFF", comment="Provide an invalid ee value"),
+    UiTestStep(
+        user_input=":collections --ee FFFFF",
+        comment="Provide an invalid ee value",
+        present=EXPECTED_COLLECTIONS,
+    ),
     # and repeat some basic browsing
-    UiTestStep(user_input=":0", comment="Browse company_name.coll_1 plugins window"),
+    UiTestStep(user_input=":1", comment="Browse company_name.coll_1 plugins window"),
     UiTestStep(user_input=":0", comment="lookup_1 plugin docs window"),
+    UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"),
+    UiTestStep(
+        user_input=":back",
+        comment="Back to ansible-navigator collections browse window",
+        present=EXPECTED_COLLECTIONS,
+    ),
+    UiTestStep(
+        user_input=":0",
+        comment="Browse ansible.builtin plugins window",
+        present=["yum_repository"],
+    ),
+    UiTestStep(
+        user_input=":0",
+        comment="Browse ansible.builtin.add_host module",
+        present=["ANSIBLE.BUILTIN.ADD_HOST"],
+    ),
 )
 
 
diff --git a/tests/integration/actions/collections/test_direct_interactive_ee.py b/tests/integration/actions/collections/test_direct_interactive_ee.py
index 2eb530a4c..66c2ff49e 100644
--- a/tests/integration/actions/collections/test_direct_interactive_ee.py
+++ b/tests/integration/actions/collections/test_direct_interactive_ee.py
@@ -6,6 +6,7 @@
 from ..._interactions import UiTestStep
 from ..._interactions import add_indices
 from ..._interactions import step_id_padded
+from .base import EXPECTED_COLLECTIONS
 from .base import BaseClass
 from .base import base_steps
 
@@ -13,7 +14,13 @@
 CLI = Command(subcommand="collections", execution_environment=True).join()
 
 
-initial_steps = (UiTestStep(user_input=CLI, comment="ansible-navigator collections top window"),)
+initial_steps = (
+    UiTestStep(
+        user_input=CLI,
+        comment="ansible-navigator collections top window",
+        present=EXPECTED_COLLECTIONS,
+    ),
+)
 
 steps = add_indices(initial_steps + base_steps)
 
diff --git a/tests/integration/actions/collections/test_direct_interactive_noee.py b/tests/integration/actions/collections/test_direct_interactive_noee.py
index 79bad7f2c..2e426d276 100644
--- a/tests/integration/actions/collections/test_direct_interactive_noee.py
+++ b/tests/integration/actions/collections/test_direct_interactive_noee.py
@@ -6,6 +6,7 @@
 from ..._interactions import UiTestStep
 from ..._interactions import add_indices
 from ..._interactions import step_id_padded
+from .base import EXPECTED_COLLECTIONS
 from .base import BaseClass
 from .base import base_steps
 
@@ -13,7 +14,13 @@
 CLI = Command(subcommand="collections", execution_environment=False).join()
 
 
-initial_steps = (UiTestStep(user_input=CLI, comment="ansible-navigator collections top window"),)
+initial_steps = (
+    UiTestStep(
+        user_input=CLI,
+        comment="ansible-navigator collections top window",
+        present=EXPECTED_COLLECTIONS,
+    ),
+)
 
 steps = add_indices(initial_steps + base_steps)
 
diff --git a/tests/integration/actions/collections/test_welcome_interactive_ee.py b/tests/integration/actions/collections/test_welcome_interactive_ee.py
index 66e43aae3..5e05234c4 100644
--- a/tests/integration/actions/collections/test_welcome_interactive_ee.py
+++ b/tests/integration/actions/collections/test_welcome_interactive_ee.py
@@ -6,6 +6,7 @@
 from ..._interactions import UiTestStep
 from ..._interactions import add_indices
 from ..._interactions import step_id_padded
+from .base import EXPECTED_COLLECTIONS
 from .base import BaseClass
 from .base import base_steps
 
@@ -14,7 +15,11 @@
 
 initial_steps = (
     UiTestStep(user_input=CLI, comment="welcome screen"),
-    UiTestStep(user_input=":collections", comment="enter collections from welcome screen"),
+    UiTestStep(
+        user_input=":collections",
+        comment="enter collections from welcome screen",
+        present=EXPECTED_COLLECTIONS,
+    ),
 )
 
 steps = add_indices(initial_steps + base_steps)
diff --git a/tests/integration/actions/collections/test_welcome_interactive_noee.py b/tests/integration/actions/collections/test_welcome_interactive_noee.py
index 36644d2cf..76460cd77 100644
--- a/tests/integration/actions/collections/test_welcome_interactive_noee.py
+++ b/tests/integration/actions/collections/test_welcome_interactive_noee.py
@@ -6,6 +6,7 @@
 from ..._interactions import UiTestStep
 from ..._interactions import add_indices
 from ..._interactions import step_id_padded
+from .base import EXPECTED_COLLECTIONS
 from .base import BaseClass
 from .base import base_steps
 
@@ -14,7 +15,11 @@
 
 initial_steps = (
     UiTestStep(user_input=CLI, comment="welcome screen"),
-    UiTestStep(user_input=":collections", comment="enter collections from welcome screen"),
+    UiTestStep(
+        user_input=":collections",
+        comment="enter collections from welcome screen",
+        present=EXPECTED_COLLECTIONS,
+    ),
 )
 
 steps = add_indices(initial_steps + base_steps)