diff --git a/src/detection/terminalshell/terminalshell.c b/src/detection/terminalshell/terminalshell.c
index fb1717043..f29902727 100644
--- a/src/detection/terminalshell/terminalshell.c
+++ b/src/detection/terminalshell/terminalshell.c
@@ -598,6 +598,38 @@ static bool getTerminalVersionKitty(FFstrbuf* exe, FFstrbuf* version)
}
}
}
+ #elif __APPLE__
+ if (ffStrbufEndsWithS(exe, "/kitty.app/Contents/MacOS/kitty"))
+ {
+ ffStrbufSet(version, exe);
+ ffStrbufSubstrBeforeLastC(version, '/');
+ ffStrbufSubstrBeforeLastC(version, '/');
+ ffStrbufAppendS(version, "/Info.plist");
+ char buf[4096];
+ ssize_t size = ffReadFileData(version->chars, ARRAY_SIZE(buf) - 1, buf);
+ if (size > 0)
+ {
+ buf[size] = '\0';
+
+ const char* p = strstr(buf, "CFBundleShortVersionString");
+ if (p)
+ {
+ p += strlen("CFBundleShortVersionString");
+ p = strchr(p, '>');
+ if (p)
+ {
+ p++;
+ const char* end = strchr(p, '<');
+ if (end)
+ {
+ ffStrbufSetNS(version, (uint32_t) (end - p), p);
+ return true;
+ }
+ }
+ }
+ }
+ ffStrbufClear(version);
+ }
#endif
char versionHex[64];