Why is SyncVar not syncing?

Why does this not sync from client to server?

[SyncVar(hook = "OnNameChange")]
public string champion;


void Start()
{
   OnNameChange("bla bla bla");
}

public void OnNameChange(string champName)
{
   champion = champName;
}

Use Commands to send data to server.

Manual: State Synchronization

SyncVars should not be modified on clients as only modifications on server are synchronized.

The hook property is meant to be used for a callback when this client receives a new value from the server.