Reporting a problem to Caltrans
State highways · csr.dot.ca.gov · One form, statewide
Caltrans runs California's state highway system, and one form — csr.dot.ca.gov — takes hazard reports for all of it: potholes, debris, graffiti, flooding, damaged signs and signals. There is no county-by-county version. If it is on a state highway, this is the form.
File a Caltrans report through ImproveBayArea → We submit it to Caltrans for you and track the ticket — or file it yourself with the steps below.
How to file at csr.dot.ca.gov
- Choose the situation type — pothole, debris, graffiti, flooding, sign or signal damage, and so on.
- Place the map pin on the highway. The pin has to sit inside the state highway system; the form confirms with “Valid Caltrans Location Selected” and fills in the county and route. A pin on a side street will not submit.
- Describe the problem — what it is, which direction of travel, and the nearest cross street or exit.
- Submit, and save your ticket number. That number is the only handle you get. Keep it.
One routing note: if the problem is on a city street rather than the highway, Caltrans will close the ticket as wrong jurisdiction and name the agency that actually owns it. File with that city instead — for Bay Area cities, ImproveBayArea routes to them.
This form was broken. Here's what got fixed.
In August 2026, the form's security check — Google reCAPTCHA — expired about two minutes after you passed it, and the form was missing the three standard callbacks (data-callback, data-expired-callback, data-error-callback) that tell you when the check has expired or failed. So if filling in the map and the description took longer than two minutes, the submission failed silently: no error message, no ticket number — the report just vanished. And for disabled users there was no alternative channel at all: no phone intake, no accessible form.
On August 27, 2026, Barklee Sanders filed a formal ADA Title II complaint with Caltrans documenting the wiring bugs from the form's own code, and published a complete, working, accessible replacement form — free and MIT-licensed — that Caltrans could copy: github.com/barkleesanders/accessible-gov-form-demo. Caltrans entered his hazard report (ticket 1188170) and said it was looking into the ADA issue.
Between August 31 and October 5, 2026, Caltrans shipped the fix. It is verifiable in dated web archives of the form's own code: all three callbacks — captchaVerified, captchaExpired, captchaErrored — are now implemented, the submission is validated before it posts, and a broken duplicate captcha frame that used to flash an error next to the working one is gone. Reports filed since then complete reliably.
Still not fixed: the form still uses reCAPTCHA instead of a non-interactive accessible check, and there is still no non-CAPTCHA way to report a hazard. That part of the complaint remains open.
Use it
One form serves the whole state. It works now — use it: csr.dot.ca.gov, or file through ImproveBayArea and let us track the ticket.