Something like this should work:
let client: hello_capnp::hello::Client = capnp_rpc::new_client(HelloImpl);
let mut req = self.session_context.fulfill_request_request();
req.get().get_cap().set_as_capability(client.client.hook);
What'a happening here is that capnproto-rust does not have specific support for the :Capability type, so it falls back to a general AnyPointer.
The client.client.hook thing is admittedly ugly. I think we can make that nicer by adding an IntoInternalClientHook trait, as I commented here:
https://github.com/capnproto/capnproto-rust/issues/226#issuecomment-887604513