```diff
--- test_files/394-original.txt	2025-03-07 19:06:52
+++ test_files/394-modified.txt	2025-03-07 19:06:52
@@ -4,6 +4,7 @@
 
 import typing as t
 from enum import Enum
+from pathlib import Path
 
 import click
 
@@ -15,6 +16,10 @@
         """Initialize"""
         self.cls = cls
 
+    def get_metavar(self, param: click.Parameter) -> str:
+        """Get metavar representation."""
+        return t.cast(str, param.name).upper()
+
     def convert(
         self,
         value: str,
@@ -29,3 +34,16 @@
                 f"Option `{value}` is invalid for `{'/'.join(t.cast(click.Parameter, param).opts)}` "
                 f"please provide one of {set(map(lambda x:x.value, self.cls))} as value"
             ) from e
+
+
+class PathParam(click.Path):
+    """Path as click param."""
+
+    def convert(  # type: ignore
+        self,
+        value: str,
+        param: t.Optional[click.Parameter] = None,
+        ctx: t.Optional[click.Context] = None,
+    ) -> Path:
+        """Convert to ledger id."""
+        return Path(str(super().convert(value=value, param=param, ctx=ctx)))
```
