GPTel
A no-frills ChatGPT client for Emacs
...You can go back and edit your previous prompts, or even ChatGPT’s previous responses when continuing a conversation. These will be fed back to ChatGPT. Run M-x gptel to start or switch to the ChatGPT buffer. It will ask you for the key if you skipped the previous step. Run it with a prefix-arg to start a new session. In the gptel buffer, send your prompt with M-x gptel-send, bound to C-c RET. Set chat parameters (GPT model, directives etc) for the session by calling gptel-send with a prefix argument.