The Giants and free agent first baseman Ryan Klesko agreed to terms on a one-year contract Tuesday, giving the club another option at first along with recently acquired Rich Aurilia.