codex
picks are typed into your codex prompt as chips, and attached when you send.
on this page
set up#
$ el install --codex
this adds element's hooks (already trusted, so there's nothing to approve in /hooks). restart open codex windows afterwards.
chips#
codex has no way for extensions to edit its prompt, so element types the chip in through your terminal. that works when codex runs in tmux, iTerm2, cmux, WezTerm, herdr, Zellij, GNU screen, kitty, Konsole or Ghostty on macOS. kitty needs allow_remote_control socket-only and a listen_on line in kitty.conf, and Konsole 25.12 and later needs its security-sensitive D-Bus API turned on; el install --codex says what to set. cmux needs its automation socket on, and el install --cmux stores its socket password.
- each pick types
[element #7]into the codex prompt. - only chips left in your message are sent. a chip is plain text, so delete it a character at a time; breaking it is enough to drop the pick.
- iTerm2 asks once to let element control it. allow it, or chips fall back to a notification.
in other terminals (vs code's, Terminal.app, Ghostty) there's no chip: every waiting pick goes with your next message. running codex inside tmux there gets you chips. to turn chips off, set {"codexChips": false} in ~/.element/config.json.
sessions#
each codex window is its own session, named after its folder. a new window shows up after its first message (codex doesn't tell element sooner), and goes away when you close it.
remove#
el uninstall removes element's hooks.