Digging into the errors I found the following which seems to suggest the second slash is converted to '\\' {"message": "Unhandled error", "reason": null, "traceback": "Traceback (most recent call last):\n File \"C:\\Users\\u1774090\\Anaconda3\\envs\\h5web\\lib\\site-packages\\tornado\\web.py\", line 1702, in _execute\n result = method(*self.path_args, **self.path_kwargs)\n File \"C:\\Users\\u1774090\\Anaconda3\\envs\\h5web\\lib\\site-packages\\tornado\\web.py\", line 3173, in wrapper\n return method(self, *args, **kwargs)\n File \"C:\\Users\\u1774090\\Anaconda3\\envs\\h5web\\lib\\site-packages\\jupyterlab_h5web\\handlers.py\", line 26, in get\n content = self.get_content(h5file, path)\n File \"C:\\Users\\u1774090\\Anaconda3\\envs\\h5web\\lib\\site-packages\\jupyterlab_h5web\\handlers.py\", line 59, in get_content\n return content.metadata()\n File \"C:\\Users\\u1774090\\Anaconda3\\envs\\h5web\\lib\\site-packages\\h5grove\\content.py\", line 151, in metadata\n (\"children\", self._get_child_metadata_content(depth - 1)),\n File \"C:\\Users\\u1774090\\Anaconda3\\envs\\h5web\\lib\\site-packages\\h5grove\\content.py\", line 139, in _get_child_metadata_content\n return [\n File \"C:\\Users\\u1774090\\Anaconda3\\envs\\h5web\\lib\\site-packages\\h5grove\\content.py\", line 140, in \n create_content(self._h5file, os.path.join(self._path, child_path)).metadata(\n File \"C:\\Users\\u1774090\\Anaconda3\\envs\\h5web\\lib\\site-packages\\h5grove\\content.py\", line 160, in create_content\n entity = get_entity_from_file(h5file, path, resolve_links)\n File \"C:\\Users\\u1774090\\Anaconda3\\envs\\h5web\\lib\\site-packages\\h5grove\\utils.py\", line 34, in get_entity_from_file\n raise PathError(f\"{path} is not a valid path in {basename(h5file.filename)}\")\nh5grove.utils.PathError: /confocal\\XY is not a valid path in session-20211021-131238.hdf5\n"}