I was referring to how the agent where job is launched, i.e.:
With that said, think I've found the problem. If JNRRemoteAgent or MinaRemoteAgent is used, then things will break since the agent is serialized and sent to the agent while there only exists a proxy object on the master. This means that all calls needs to be serialized and sent over to the agent side. Which goes bad now that I've changed so that Launcher is included.
Jesse Glick I've just taken a quick look, but a possible plan to fix this is by introduce a "provider" interface which SSHAgentStepExecution and SSHAgentBuildWrapper implements (or sub-class) which is the provided to the constructor of the RemoteAgent implementations. Most implementations, except ExecRemoteAgent can ignore the argument and remain serializable, while ExecRemoteAgent can keep it and use it to recover an up to date version of launcher and listener.