Den 30-årige yttern utsågs till spelare av säsongen i sitt första år på The Valley, som inkluderade 13 mål.
"Det var en no-brainer för mig att underteckna ett nytt kontrakt," Holmes sade. "Förhoppningsvis kan vi bli befordrade den här säsongen."
Holmes producerade också sex assist i sina 38 framträdanden efter att ha anslutit sig till ett första tvåårigt avtal från Northampton Town i juni 2016.
Charlton Midfielder Ricky Holmes har tecknat ett nytt treårigt avtal med League One-sidan.