Chat with ChatGPT from your terminal.
codexchat is a local-first Rust TUI chat app. It launches the official codex app-server bridge over stdio, signs in with ChatGPT, filters to GPT-family models, and keeps only local config and thread history under ~/.codexchat/.
It does not store ChatGPT tokens in app files.
- browser-to-localhost permissions were too brittle for the main product path
- official local bridge keeps auth out of app storage
- install is simple
- chat feels fast and direct
Public status on March 20, 2026:
- app is ready
- npm package is published
- GitHub release assets are published
Use any supported package manager:
npm i -g @dhruv2mars/codexchatbun install -g @dhruv2mars/codexchatpnpm add -g @dhruv2mars/codexchatFirst run downloads the native binary and pinned codex bridge into ~/.codexchat/bin/.
For local dev, run from source:
bun install
cargo run -p codexchat-cli --codexchatFirst run flow:
- open
codexchat - start ChatGPT sign-in
- finish login in your browser
- search/select a model
- send a prompt
- resume the thread later
codexchat
codexchat auth login
codexchat auth status
codexchat auth logout
codexchat models
codexchat chat "indian capital city?"
codexchat updateEntersendShift+EnternewlineTab/Shift+Tabmove focusCtrl+Kfocus modelsCtrl+Jfocus threadsCtrl+Mfocus composerCtrl+Nnew chatCtrl+LlogoutEscstop stream or clear searchqquit
npm,bun,pnpm, andyarninstalls all use the same JS launcher- the launcher downloads the right native binary and pinned
codexbridge on first run - no postinstall is required, so Bun global installs are usable without trusting scripts
codexchat updateupgrades with the same package manager used for install when possible- the app talks only to the official
codex app-serverlocal bridge over stdio - auth uses ChatGPT sign-in through Codex
GitHub Releases publish:
darwin-arm64darwin-x64linux-arm64linux-x64win32-arm64win32-x64
bun install
bun run cli
bun run test
bun run check
bun run buildReal manual verify:
cargo run -p codexchat-cli -- auth login
cargo run -p codexchat-cli -- models
cargo run -p codexchat-cli -- chat "indian capital city?"
cargo run -p codexchat-cli --bunx changeset
bun run release:version
TAG="v$(node -p \"require('./packages/cli/package.json').version\")"
git tag "$TAG"
git push origin "$TAG"Tags trigger:
- GitHub Release creation
- cross-platform binary builds
- npm publish