Sections of what is now NY 23 were part of unsigned legislative routes as early as 1908; however, NY 23 itself was not assigned until 1924. At the time, the route extended from Oneonta to Massachusetts and followed a slightly different alignment from Cairo to Claverack via Hudson that took the route along modern County Route 23B (CR 23B) in eastern Greene County. NY 23 was extended west to Norwich in the mid-1920s and to NY 26 in northwestern Chenango County in 1930. The route was gradually moved onto its current alignment between Cairo and Claverack in the 1950s and 1960s, and realigned on its western end in 1984 to serve Cortland County.

The highway begins at a junction with NY 26 in Cincinnatus, a town in eastern Cortland County. It heads east across the Otselic River and through the hamlet of Lower Cincinnatus before curving to the northeast and crossing into Chenango County very soon afterward. Across the county line, it continues northeast through a lightly developed valley surrounding Brakel Creek to the Pharsalia State Wildlife Management Area, where it connects with CR 42,[3] a highway that was once part of NY 23.[8] From here, the route heads southeastward along another valley, this one surrounding Canasawacta Creek, to the city of Norwich, the county seat of Chenango County. It heads east–west across the city on Pleasant and Rexford streets, passing through mostly residential areas and intersecting with NY 12 at Broad Street.[3]

NY 23 east at NY 8 in South New Berlin

On the eastern fringe of Norwich, NY 23 passes over the Chenango River and leaves the valley holding the river and the city, utilizing a gap in the valley wall formed by Ransford Creek. The waterway ends shortly afterward; however, the route continues on, winding its way eastward into the town of New Berlin and the small hamlet of South New Berlin, situated in another valley surrounding the Unadilla River. Here, it connects to NY 8, another major north–south route. The route crosses the river just east of South New Berlin, putting it into the equally hilly and rural Otsego County. After 6.5 miles (10.5 km) of isolated areas, NY 23 encounters the village of Morris, the first of several villages along the route. In the village center, it briefly joins NY 51 along Morris' main street.[3]

Beyond Morris, the route continues in an easterly direction with a generally southern trend through rolling farmland until its turns south again at the Laurens hamlet of West Laurens. A brief easterly turn 5 miles (8 km) later at West Oneonta takes it across Otego Creek to a junction with NY 205 on the eastern side of the creek's valley. NY 23 joins NY 205 here, and the two highways enter the western outskirts of the nearby city of Oneonta. At Chestnut Street, the first intersection that the route has in the city's vicinity, NY 23 leaves NY 205 to follow Chestnut Street. While NY 205 continues south toward the National Soccer Hall of Fame, NY 23 heads east toward downtown Oneonta. Just one block later, however, it meets NY 7, which comes in from the southwest on Oneida Street. NY 7 turns east at this point to follow NY 23 into the city limits.[3]

Old shields on NY 7 and NY 23 in Oneonta

The two routes serve as Oneonta's main street, following Chestnut and Main streets across the city's western and central areas. Along the way, NY 7 and NY 23 pass Hartwick College and serve Oneonta's central business district. NY 23 breaks from NY 7 just northeast of downtown to follow James F. Lettis Highway, a four-lane divided highway, south into the southern half of the city. As it heads south on the arterial, it connects to Interstate 88 (I-88) at an interchange on the northern bank of the Susquehanna River. NY 28—which overlaps with I-88 from Oneonta to exit 17 northeast of the city—leaves the freeway here, following NY 23 across the river to a large commercial district on the south bank. NY 28 leaves NY 23 here to proceed to the southwest while NY 23 goes eastward past several large strip malls and big-box retailers on its way out of both Oneonta and Otsego County.[3]

In the adjacent Delaware County, NY 23 initially follows a generally easterly routing through the Charlotte Creek valley. Here, the land gets more forested and the number of houses decrease as it crosses the county. After Davenport, a hamlet 8 miles (13 km) east of Oneonta, the road begins to climb onto the Catskill Plateau. By the time it intersects NY 10 at the village of Stamford,[3] it has already reached an elevation of 1,820 feet (555 m) above sea level. Not far to the east of the NY 10 junction, it crosses the West Branch of the Delaware River, by this point a small brook as the river's source is located just 1 mile (1.6 km) to the north. It maintains this elevation during a brief, 2.5-mile (4.0 km) foray into Schoharie County that leads the route around a pair of 3,000-foot (914 m) mountains situated south of the county line.[9]

Approaching US 9W on NY 23 near Catskill

Elevation drops slightly upon reaching the hamlet of Grand Gorge within the town of Roxbury, located just above a small pond alongside NY 30 that gives rise to the Delaware's East Branch.[10] NY 23 intersects NY 30 in the hamlet's center before making a sharp bend to the south as it approaches the Schoharie Reservoir, located 3 miles (5 km) southeast of Grand Gorge. The route passes by the reservoir's southern tip before it enters Greene County and the town of Prattsville. Just inside the county, a bridge carries the highway over Schoharie Creek and into the next community, the hamlet of Prattsville.[3]Pratt Rock, a series of rock carvings depicting the life of Zadock Pratt—the tanner and politician who lent his name to the town—is located just east of the hamlet.[11][12]

Southeast of Prattsville hamlet, NY 23A splits off from NY 23 to continue along Schoharie Creek while the latter climbs in elevation again along Batavia Kill. Shortly past Red Falls, all crossings of the creek come to mark the Blue Line that delineates the Catskill Park. The route remains to the north of the creek even as it passes the Windham Mountain ski area and NY 296 comes in from the south.[3] However, it crosses it several times and is within the park as it reaches its highest point, 1,940 feet (591 m) at the pass next to Windham High Peak where the Long Path crosses the road.[13] From here, NY 23 begins a long descent down the Catskill Escarpment, losing most of the elevation it had gained since leaving Oneonta.[14] As it does so, the route provides sweeping, panoramic views of the Capital District and points north, east and west. Along this stretch is Five State Lookout, a vista providing views of five states and four mountain ranges, including the Adirondack foothills and Green Mountains in Vermont.[15]

Having reached the floor of the Hudson Valley, NY 23 assumes a southeast-trending route through the town of Cairo. It comes close to the hamlet of Cairo, but bypasses it on a four-lane divided highway that takes it around the northern fringe of the community. As it runs around Cairo, the route connects to NY 145 and briefly overlaps NY 32, the major north–south state route on the west side of the Hudson River. NY 23 continues as a divided highway through mostly forested areas to the town of Catskill, where it crosses Catskill Creek and has an indirect intersection with the New York State Thruway (I-87). Not far to the southeast is the village of Catskill, the county seat of Greene County. NY 23 bypasses this community as well, connecting to U.S. Route 9W (US 9W) and NY 385 at junctions in lightly populated areas north of the village prior to crossing the Hudson River on the Rip Van Winkle Bridge.[3]

Once across the bridge and into Columbia County, the highway encounters NY 9G near the Olana State Historic Site in western Greenport. The two highways briefly overlap until NY 9G continues north with NY 23B[3] to follow NY 23's old course into and through the city of Hudson.[16] NY 23 continues to the southeast, bypassing Hudson well to the south and serving Columbia–Greene Community College, located in an otherwise forested area of Greenport. After 2 miles (3.2 km), the route meets US 9 at an isolated junction due south of Hudson. US 9 and NY 23 overlap for 2.5 miles (4.0 km) across more open but still largely undeveloped areas to a small, unnamed community on the western edge of Bell Pond, a small waterbody in the northeast corner of the town of Livingston.[3]

In the center of the hamlet, US 9 and NY 23 encounter a complex intersection that features a total of four routes. At the junction, US 9 continues to the southwest while NY 82 continues southeast along NY 23's course. NY 23, meanwhile, picks up US 9's routing, overlapping with NY 9H in a northerly direction that takes both highways across Taghkanic Creek and into the equally rural town of Claverack. The routes remain overlapped into the hamlet of Claverack, where NY 23B comes in from the west and finishes its alternate loop of NY 23. At the same junction, NY 23 leaves the north–south NY 9H to resume an east–west alignment toward the Massachusetts state line.[3]

Shortly after the NY 9H junction, NY 217 splits off to the northeast toward Philmont. The road continues southeastward from NY 217, crossing over Claverack Creek and leaving the built-up hamlet of Claverack for countryside more open and less rugged than that in the Catskills. It proceeds generally easterly across mostly undeveloped fields to Martindale, a small community at the interchange linking NY 23 to the Taconic State Parkway. From here, NY 23 follows a creek valley southeast and east into Hillsdale, where the route connects to NY 22, a north–south highway that closely parallels New York's eastern state line for most of its length. Almost 3 miles (5 km) to the east, NY 23 reaches the state line, where it becomes Massachusetts Route 23 as it serves the bi-state Catamount Ski Area.[3]

In 1908, the New York State Legislature created Route 5, an unsigned legislative route that extended from Kingston in the south to Mohawk in the north. From Oneonta to Grand Gorge, Route 5 utilized modern NY 23.[17][18] The portion of what is now NY 23 from Grand Gorge to Prattsville was designated as part of Route 38 in 1909 while the segment between the Delaware–Greene County line and Catskill (via modern CR 23B) became Route 5-a in 1911.[18][19] On March 1, 1921, Route 38 was realigned to enter Grand Gorge from the northeast on modern NY 30 while Route 5-a was renumbered to Route 47 and extended northwest to Grand Gorge over the former routing of Route 38.[20]

A reference marker on NY 23 near Catskill. This marker has the identical information as the one used by New York commercial maps in the 1970s and 1980s to illustrate their presence.[21][22]

On July 2, 1935, the Rip Van Winkle Bridge over the Hudson River between Catskill and Greenport was opened to traffic.[26] It became part of a realigned NY 23 after the Athens–Hudson ferry shut down in the late 1940s. NY 23 utilized modern NY 23B between the bridge and Hudson.[27][28] Plans were made in the early 1950s to construct a southern bypass of the city of Hudson between the Rip Van Winkle Bridge and NY 23 midway between Claverack and Hollowville.[29][30] Construction on the portion of the highway between the bridge and US 9 south of Hudson began in the mid-1950s[16][31] and was completed in the late 1950s as a realignment of NY 23. Ultimately, this was the only section that was built; as a result, NY 23 overlapped with US 9 and NY 9H to reach its former alignment in Claverack.[16][32]

NY 145 was extended eastward along NY 23 from Cairo to Catskill c. 1940.[33][34] Both routes were realigned in the 1960s to follow a new arterial between Cairo and the Rip Van Winkle Bridge in Catskill. The first segment of the highway, a northerly bypass of the hamlet of Cairo, opened c. 1961.[32][35] The remainder of the arterial was completed in the mid-1960s.[36][37] NY 145 was truncated back to Cairo on January 1, 1970.[38] Much of NY 23's former routing between Cairo and the Catskill village line is now CR 23B;[39][40] however, a 0.63-mile (1.01 km) segment in Jefferson Heights between exit 21 of the New York State Thruway and a town road named Austin Acres is state-maintained as NY 911V, an unsigned reference route.[2]

In July 1984,[41] NY 23 was realigned west of North Pharsalia to follow a new highway between NY 26 in Cincinnatus and North Pharsalia.[8][22] The length of the Chenango County portion of the new alignment was 8.40 miles (13.52 km), roughly double that of NY 23's old routing (4.39 miles or 7.07 kilometres).[42][43] The 8.5 miles (13.7 km) of state highway mileage for the new road in Chenango County came from NY 23's former routing and NY 319 near Norwich, both of which were transferred to Chenango County after the new highway was completed.[41][44]

NY 23B (6.71 miles or 10.80 kilometres) is an alternate route of NY 23 in western Columbia County. The route separates from NY 23 south of Hudson and rejoins its parent east of the village in Claverack.[2] It was assigned in the late 1950s.[16][32]