A Chrome extension that adds a table of contents to ChatGPT conversations.
Author: Andrew Abogado · Repo: github.com/andrewabogado/on-this-chat
Handy for long threads: jump to any user message or assistant section (H1/H2) from a sidebar or compact rail.
| Sidebar (wide) | Compact rail | Popover |
|---|---|---|
![]() |
![]() |
![]() |
- Sidebar TOC on wide viewports: scrollable list with user messages and assistant headings (H1/H2)
- Compact rail on narrower screens: dot indicators that expand to the full list on hover
- Smooth slide-in animations, active section highlighting, and scroll sync
- Works on chatgpt.com and chat.openai.com
- Supports dark mode theme
- Clone or download from github.com/andrewabogado/on-this-chat.
- Open Chrome → Extensions → Manage extensions → Load unpacked.
- Select the folder containing
manifest.json. - Visit a ChatGPT conversation; the TOC appears when the page has content.
- Wide viewport: TOC appears as a sidebar on the right. Click an item to scroll to that section.
- Narrow viewport: A thin rail with dots appears; hover to open the full TOC in a popover.
- Use the extension icon to toggle the TOC on or off (if needed).
| File | Role |
|---|---|
manifest.json |
Chrome extension manifest (MV3). |
background.js |
Service worker; handles icon click and scripting. |
content.js |
Injected into ChatGPT; builds TOC, scroll sync, compact/popover logic. |
styles.css |
Sidebar, rail, popover, and animation styles. |
Contributions are welcome. See CONTRIBUTING.md for how to run, test, and submit changes.
See SECURITY.md for practices and how to report vulnerabilities.
MIT — see LICENSE.


