NY 345 was assigned as part of the 1930 renumbering of state highways in New York; however, it originally followed a different alignment south of the hamlet of Madrid. At the time, what is now NY 345 between Madrid and Potsdam was part of NY 56A. The NY 56A designation was eliminated in 1980. NY 345 was realigned two years later to follow old NY 56A to Potsdam as a result of a highway maintenance swap between the state of New York and St. Lawrence County. Ownership and maintenance of NY 345's original routing south of Madrid was transferred from the state to the county and the village of Canton as part of the exchange.