What key length has to be send to a recipient when using a stream cipher? I was being argued that stream cipher's key that is the length of the message must be sent to the destination for them to be able to decrypt the message.

My point is: don't you only have to send the seed of the PRG let's say the 128 bits key for RC4 128 and then the destination can recreate the full length key from the 128 bits you sent them. Am I correct or wrong?
I think what you have here is a confusion about terminology. Here's standard terminology:


Keystream: The thing that's the length of the message that you XOR with the message. Must remain secret; should really not be sent to the other person (if you do, may as well just use a OTP). This is not the key, and is not referred to as such.
Key: That secret information that both parties must know before they can communicate. Must remain secret; does not, in general, suffice to determine the keystream. This is the only secret information that you generally should share before doing the encryption.
Initial state: I'm not sure if this is actually a formal term, but this refers to the initial state of the CSPRNG that makes up the stream cipher. Always depends on key; may or may not actually include the key (RC4's initial state is constructed using the key, but the key itself isn't part of it -- rather, there's an algorithm that starts with a fixed state and mixes in the key before starting the main CSPRNG). Also often depends on other parameters; RC4 just takes one input, but with Salsa20 you have key, nonce, and a fixed component in it (you also have a stream position component there, but that's because Salsa20 does 512 bits at a time, so the stream position is because you initialize the CSPRNG many times in a message). You generally don't send this; you don't care what the initial state is, that's an internal detail of the algorithm. All you send is the information the algorithm needs to construct it, some of which is secret.


Also, since I used the term:


Nonce: A number used only once; in this case, it's a stream-specific number that is never, ever, ever reused with the same key, and is used to allow multiple messages to be sent with the same key. Also called the IV in some cases. With RC4, it's just part of the "key" the cipher expects, and the secret key is the rest of the "key" the cipher expects; in other stream ciphers, this is explicitly part of the algorithm. However, when using RC4 with a nonce (e.g. in WEP), the key is different from the key fed into the RC4 algorithm itself; it's still just the secret part (i.e. if you have RC4-128, with a 32-bit nonce, you're feeding 128 bits into the RC4 algorithm but your key is just 96 bits). Nonces are not secret.


To communicate, you need to send the key in secret, and whatever nonce material you're using for that message (this can be in the clear). You don't send keystream, and don't send internal state.