I run keychain through a tcsh shell .. it appears the logic is incorrect in creating the contents of the ~/.keychain/${HOSTNAME}-csh file properly. When I source that file the setenv command complains that variables must start with a letter. Reproducible: Always Steps to Reproduce: 1. run keychain 2. source the created ~/.keychain/${HOSTNAME}-csh file 3. Actual Results: setenv /tmp/ssh-KzkhM12185/agent.12185 setenv 12186 Expected Results: setenv SSH_AUTH_SOCK /tmp/ssh-KzkhM12185/agent.12185 setenv SSH_AGENT_PID 12186 to make it work for me in the mean time I manually changed the keychain script to this echo "setenv SSH_AUTH_SOCK $ssh_auth_sock" >"$cshpidf" echo "setenv SSH_AGENT_PID $ssh_agent_pid" >>"$cshpidf" note I hardcoded the SSH_AUTH_SOCK and SSH_AGENT_PID .. they were previously variables. They do not seem to be getting set for the csh side of things.
This was fixed in 2.2.2 but I hadn't marked it stable yet. I've gone ahead and marked 2.3.0 stable in portage, please upgrade. *** This bug has been marked as a duplicate of 49813 ***