You have probably heard that you want to feed your GSD a low-fat, high-protein diet. And this is correct, when your dog is at their ideal weight. A high-protein, low-fat diet is perfect for helping your dog maintain his weight, giving him the nutrient he needs to be energized and build muscle. When your German shepherd is underweight, however, adding more fat to his diet is a good idea. This will provide his body with the calories it needs to start to put on weight.
This does not mean that you should just be feeding him the fattiest kibble that you can find. You still want plenty of protein in that diet, but you do not want to be feeding him just protein. If you do not want to change kibbles, you might try adding some animal fat to the food that he is already eatng. His will do two things: first, it will up the calorie count of that food, giving him the ability to gain weight; second, it will probably make the food you are feeding him a little more enticing. If your dog is underweight because he simply is not interested in eating, putting some animal fat on his kibble could help to rectify this problem.