Skip to content

bididi-badidi/model-colour-titles

v0.1.0

Automatically prefix Codex task titles with a model-specific colour marker.

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.

  • match is a model family segment such as sol or luna. It matches across model versions. A full slug can still be used for a specific override.
  • prefix is what actually appears in the sidebar title.
  • darkHex documents the corresponding dark-theme UI colour for future widgets; native sidebar titles cannot apply arbitrary hex colours.
  • fallback is 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.