This was my thread. I forgot I had an account.
My particular needs were somewhat unique and I found an alternative solution to my requirements.
So one solution I found was to do this:
Where I saved my session name as the same name as my keyfile so I could use this command.
kageant.exe keys\!N.ppk -c kitty_portable.exe !U@!@ -P !# -title "!N"
Perhaps would it not be useful to have a expandable variable specific to this requirement?
Something like !K perhaps that will expand a key name or key path defined in the session settings where you select a keyfile. This way you could also use the same command in the session options and if there is a pass phrase you will always be prompted for it when attempting a login.
kageant.exe keys\!K.ppk -c kitty_portable.exe !U@!@ -P !# -title "!N"
Then the particular issue of using a keyfile with portable kitty is overcome with the above command.
My other solution was a bat file that will load all ppk keys in a folder into kageant and then start winscp.
start bin\WinSCP.exe & for %%f in (%cd%\keys\*.ppk) do start bin\kageant.exe %%f
I also use keepass + keeagent that makes using pagent somewhat obsolete