diff --git a/agent/seahorse-agent-io.c b/agent/seahorse-agent-io.c
index 11f2a3c..5dae25b 100644
--- a/agent/seahorse-agent-io.c
+++ b/agent/seahorse-agent-io.c
@@ -93,12 +93,14 @@ struct _SeahorseAgentConn {
 #define ASS_OPTION  "OPTION"
 #define ASS_GETPASS "GET_PASSPHRASE"
 #define ASS_CLRPASS "CLEAR_PASSPHRASE"
+#define ASS_GETINFO "GETINFO"
 
 #define ASS_OPT_DISPLAY "display="
 
 /* Options */
 #define ASS_FLAG_DATA   "data"
 #define ASS_FLAG_CHECK  "check"
+#define ASS_FLAG_REPEAT "repeat"
 
 /* Responses */
 #define ASS_OK      "OK "
@@ -484,6 +486,24 @@ process_line (SeahorseAgentConn *cn, gchar *string)
         seahorse_agent_actions_clrpass (cn, id);
     }
 
+    else if (strcasecmp (string, ASS_GETINFO) == 0) {
+        gchar *what;
+        gchar *cmd;
+        gchar *cmdopt;
+        gboolean supported;
+
+        split_arguments (args, NULL, &what, &cmd, &cmdopt, NULL);
+
+        supported = !strcmp (what, "cmd_has_option")
+                 && !strcmp (cmd, ASS_GETPASS)
+                 && !strcmp (cmdopt, ASS_FLAG_REPEAT);
+
+        if (supported)
+            seahorse_agent_io_reply (cn, TRUE, NULL);
+        else
+            seahorse_agent_io_reply (cn, FALSE, "103 unknown command");
+    }
+
     else if (strcasecmp (string, ASS_NOP) == 0) {
         seahorse_agent_io_reply (cn, TRUE, NULL);
     }
