diff --git a/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx b/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx
index 9049001e6..c298064ef 100644
--- a/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx
+++ b/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx
@@ -19,12 +19,44 @@ export const PamAccessAccountModal = ({ isOpen, onOpenChange, account }: Props)
const isDurationValid = useMemo(() => duration && ms(duration || "1s") > 0, [duration]);
+ const cliDuration = useMemo(() => {
+ if (!duration) return duration;
+
+ const unit = duration.replace(/[\d\s.-]/g, "");
+
+ const dayOrLargerUnits = [
+ "d",
+ "day",
+ "days",
+ "w",
+ "week",
+ "weeks",
+ "y",
+ "yr",
+ "yrs",
+ "year",
+ "years"
+ ];
+
+ if (unit === "M" || dayOrLargerUnits.includes(unit.toLowerCase())) {
+ const valueInMs = ms(duration);
+ const oneHourInMs = 1000 * 60 * 60;
+
+ if (typeof valueInMs === "number" && valueInMs > 0) {
+ const hours = valueInMs / oneHourInMs;
+ return `${hours}h`;
+ }
+ }
+
+ return duration;
+ }, [duration]);
+
const command = useMemo(
() =>
account && account.resource.resourceType === PamResourceType.Postgres
- ? `infisical pam db access-account ${account.id} --duration ${duration}`
+ ? `infisical pam db access-account ${account.id} --duration ${cliDuration}`
: "",
- [account, duration]
+ [account, cliDuration]
);
if (!account) return null;
@@ -48,7 +80,7 @@ export const PamAccessAccountModal = ({ isOpen, onOpenChange, account }: Props)
/>