diff --git a/apps/hq-web/src/pages/ClientDetail.tsx b/apps/hq-web/src/pages/ClientDetail.tsx
index 08e5fa9..35f96ff 100644
--- a/apps/hq-web/src/pages/ClientDetail.tsx
+++ b/apps/hq-web/src/pages/ClientDetail.tsx
@@ -1153,11 +1153,22 @@ function ModuleFieldsForm(props: { cm: ClientModule; fieldSpec: FieldDef[]; onCh
{nonSecret.length > 0 && (
<>
- {nonSecret.map((f) => (
-
- {control(f)}
-
- ))}
+ {nonSecret.map((f) => {
+ // A field holding an http(s) value gets a direct "Open ↗" link (portal/console shortcut).
+ const val = draft[f.key] ?? ''
+ const isUrl = /^https?:\/\//i.test(val.trim())
+ return (
+
+
+ {control(f)}
+ {isUrl && (
+ Open ↗
+ )}
+
+
+ )
+ })}