ClankerBend lets you build Codex Desktop plugins without rebuilding or re-signing Codex Desktop itself. It uses CDP to provide a more stable API for tasks such as transcript navigation, chat annotation, attaching a file to the prompt window, opening the side panel, and so on.
ClankerBend is an independent OneWill project compatible with OpenAI Codex Desktop on macOS. It is not affiliated with or endorsed by OpenAI (unless... 🥺).
You'll need macOS with Codex Desktop and nodejs. Then just:
npx clankerbendThat starts Codex Desktop with the default ClankerBend profile and bundled apps:
- ClankerID: switch between Codex accounts.
- VimNav: Vim-style transcript navigation, number rails, role jumps, search, and a side panel.
- Sticky Notes: select transcript text, click Add note, and the generated note will (1) create a markdown file and (2) attach itself to the current Codex prompt. Inspired by @zats.
ClankerBend writes runtime state outside the package:
- macOS:
~/Library/Application Support/OneWill/ClankerBend
Override with ONEWILL_CLANKERBEND_STATE_DIR.
Managed Codex account profiles live under the same state directory. The primary
profile remains your normal CODEX_HOME or ~/.codex; managed profiles get
their own codex-home and Electron user-data directories. You can start a
saved profile directly with:
npx clankerbend --account workClankerBend binds to 127.0.0.1 on an OS-assigned ephemeral port. The launcher
prints the exact host URL and bearer token, for example
Host: http://127.0.0.1:49152 and Token: ....
/clankerbend/* endpoints require a bearer token by default. For local protocol
debugging, you can set ONEWILL_CLANKERBEND_DISABLE_AUTH=1. Hosted app pages
receive the same bearer token from their app URL fragment and from a
host-injected HTML bootstrap so URL rewriting does not break app auth.
