Open login
Launches Chrome-compatible browser automation in a context that can pass normal web checks.
chatgpt-bulk
Browser-assisted cleanup for crowded ChatGPT histories
Go terminal app
chatgpt-bulk
chatgpt-bulk opens a real browser for login, captures
the session safely, then moves the cleanup work into a fast
keyboard-driven TUI built for selecting, filtering, archiving, and
deleting many conversations at once.
Works on macOS and Linux with Chrome, Edge, Chromium, or Brave. No OpenAI API key. No browser extension.
Why it works
The product is built around the part most scripts get wrong: ChatGPT auth is handled in an actual browser session, then the repetitive work moves into a terminal flow where keyboard speed matters.
Launches Chrome-compatible browser automation in a context that can pass normal web checks.
Supports both saved auth for repeat use and session-only auth for a one-off cleanup run.
Shows cached metadata quickly, then refreshes in the background so the list becomes usable sooner.
Filter by title, multi-select, confirm the action, and stop clicking through the sidebar one chat at a time.
Practical use
first run
curl -fsSL bdcc.aru.sh/install | sh
# or from source
go run ./cmd/chatgpt-bulk login
go run ./cmd/chatgpt-bulk
Permanent auth is stored locally for repeat launches. Session-only mode keeps auth in memory and opens the TUI for the current run.
Operating model
Built in Go, terminal-first, and intentionally narrow in scope: bulk archive and delete for users who already live in the ChatGPT web app.
Requirements
macOS or Linux, a valid ChatGPT login, and a Chrome-compatible browser installed locally.
Read next
Use the full README for flags and controls, the auth guide for file behavior, and the manual auth E2E doc when you want repeatable live verification.
Next step