Injecting the context yourself can help a lot. I frequently copy in a bunch of example code at the beginning of the conversation to help prime ChatGPT on APIs it knows nothing about.
For smaller projects that will fit, I've taken to: `xclip *` and then pasting the entire collection of files into ChatGPT before describing what I want to do.
Keep in mind that GPT-4 has a max context size of ~8000 tokens, if I recall correctly. That means that in any given ChatGPT session the bot only remembers roughly the last ~6k words, as a trailing window. It'll forget the stuff at the beginning fast.
For smaller projects that will fit, I've taken to: `xclip *` and then pasting the entire collection of files into ChatGPT before describing what I want to do.