Given 2 repositories, the 1st is "parent", with the 2nd as a submodule: * https://remote.host/parent * https://remote.host/submodule When cloning the parent repo with the below command: git clone -c key=value --recurse-submodules https://remote.host/parent While "-c key=value" is properly applied when cloning the parent, it's missed when cloning the submodule. Here the actual key/value is something like "url.new.insteadOf=old" for authentication purpose. Fortunately the following works: git -c key=value clone --recurse-submodules https://remote.host/parent Ideally the first form should also work.