Model Colour Titles
This Codex plugin automatically prefixes task titles with a coloured marker based on the active model. It runs after completed turns and preserves the title generated by Codex.
Change the colours or model mappings
Edit config/colours.json.
matchis a model family segment such assolorluna. It matches across model versions. A full slug can still be used for a specific override.prefixis what actually appears in the sidebar title.darkHexdocuments the corresponding dark-theme UI colour for future widgets; native sidebar titles cannot apply arbitrary hex colours.fallbackis used for unknown models.
Emoji rendering is controlled by macOS, so darkHex does not change the emoji
itself. The supplied markers remain distinct against dark sidebar backgrounds.
How it works
The Stop hook receives the current session_id and model. The helper opens
a short-lived Codex App Server connection, reads the generated thread name,
removes a previous configured marker, and calls thread/name/set with the new
marker.
The generated title may not be available when the first turn's hook fires. If that happens, the title is prefixed automatically after the next completed turn.
The helper deliberately exits successfully when App Server is unavailable, so cosmetic title decoration can never fail a Codex turn.
Install
Add the Hooks marketplace:
codex plugin marketplace add bididi-badidi/Hooks
Then install Model Colour Titles from the marketplace in Codex. Review and trust the hook when Codex asks.
Files
config/colours.json: edit model mappings and markers here.hooks/hooks.json: controls when the helper runs.scripts/prefix_title.py: App Server rename implementation.