Problem
ZCode currently exposes no way to customize the interface appearance. The only user-level config file (~/.zcode/cli/config.json) supports behavioral settings like hooks, but there is no theme, colors, or appearance key, and no theme file is documented. Users who want to personalize the agent's look (color palette, accent color, light/dark/custom variants) have no supported path — the UI is fixed by the compiled client.
Proposal
Add support for user-customizable UI themes. A few options, any of which would help:
- A
theme section in user settings (config.json), e.g.:
{ "theme": { "preset": "tokyo-night", "accent": "#7aa2f7" } }
- A standalone theme file at
~/.zcode/cli/theme.json defining a color palette (background, foreground, accents, syntax highlighting) that the client reads on startup.
- A small set of built-in presets (e.g.
dark, light, solarized, monokai) switchable via config.json or a /theme command, with the option to define a custom palette on top.
Why
- Personalization improves long-form coding comfort (eye strain, contrast preference).
- Other agent CLIs are beginning to offer this; users coming from terminal-heavy workflows expect palette control.
- Keeps the change opt-in — default theme is unchanged for users who don't care.
Notes
Happy to help spec this out further if useful. Not sure whether the TUI/CLI client and the web client (chat.z.ai) share rendering — if so, one theme format could serve both.
Problem
ZCode currently exposes no way to customize the interface appearance. The only user-level config file (
~/.zcode/cli/config.json) supports behavioral settings likehooks, but there is notheme,colors, orappearancekey, and no theme file is documented. Users who want to personalize the agent's look (color palette, accent color, light/dark/custom variants) have no supported path — the UI is fixed by the compiled client.Proposal
Add support for user-customizable UI themes. A few options, any of which would help:
themesection in user settings (config.json), e.g.:{ "theme": { "preset": "tokyo-night", "accent": "#7aa2f7" } }~/.zcode/cli/theme.jsondefining a color palette (background, foreground, accents, syntax highlighting) that the client reads on startup.dark,light,solarized,monokai) switchable viaconfig.jsonor a/themecommand, with the option to define a custom palette on top.Why
Notes
Happy to help spec this out further if useful. Not sure whether the TUI/CLI client and the web client (
chat.z.ai) share rendering — if so, one theme format could serve both.