Problem
Hermes CLI is completely unreadable on terminals with light or cream backgrounds. All built-in skins (default, ares, mono, slate, poseidon, sisyphus, charizard) use light-colored text designed for dark backgrounds. On a light terminal, the banner text, welcome message, prompt symbol, and user input text are nearly invisible.
Environment
- OS: macOS 15 (Darwin 25.2.0)
- Terminal: Terminal.app with cream/light background
- Hermes: Latest (fresh install via official installer script)
- Model: claude-opus-4-6 via Anthropic provider
- Skin: default (also tested mono, slate — all unreadable)
Steps to Reproduce
- Use any terminal with a light/white/cream background (e.g. Terminal.app default light theme)
- Install Hermes Agent via
curl -fsSL ... | bash
- Run
hermes
- Observe: banner text, welcome message, prompt text, and live input text are all nearly invisible
What Happens
- Banner text uses colors like
#FFF8DC, #FFD700, #FFBF00, #B8860B — all designed for dark backgrounds
- Welcome message is rendered in a light yellow that disappears on cream
- User input text while typing is invisible until Enter is pressed (prompt_toolkit text color issue)
- The HUD status bar (dark background) is the only readable element
What I Expected
Either:
- A built-in
light skin with dark text colors for light terminal backgrounds
- Auto-detection of terminal background color and adaptive theme selection
- At minimum, the skin engine's
prompt color key should also control prompt_toolkit's input text color, so custom skins can fix this
Skin System Analysis
The skin engine (hermes_cli/skin_engine.py) supports custom color overrides via ~/.hermes/skins/*.yaml, and it correctly applies to banner, response borders, and UI elements. However:
- Input text color while typing is not controlled by any skin key — it appears to be set by prompt_toolkit's default, which inherits from the terminal's ANSI color palette rather than the skin's
prompt color
- All 7 built-in skins assume dark backgrounds
- The
colors.prompt key in the skin schema exists but does not affect the actual typing input color
Workaround
Creating ~/.hermes/skins/light.yaml with dark hex values fixes banner/UI text but NOT the live input text. The only full workaround is switching to a dark terminal profile.
Suggested Fix
- Add a built-in
light skin with dark text colors
- Wire
colors.prompt (or add colors.input_text) to prompt_toolkit's input style so skins can control typing text color
- Consider auto-detecting terminal background via
$COLORFGBG env var or similar
Screenshots
[Will attach screenshots showing the unreadable UI on a cream terminal background]
Feature Type
Bug / CLI improvement
Contribution
Problem
Hermes CLI is completely unreadable on terminals with light or cream backgrounds. All built-in skins (default, ares, mono, slate, poseidon, sisyphus, charizard) use light-colored text designed for dark backgrounds. On a light terminal, the banner text, welcome message, prompt symbol, and user input text are nearly invisible.
Environment
Steps to Reproduce
curl -fsSL ... | bashhermesWhat Happens
#FFF8DC,#FFD700,#FFBF00,#B8860B— all designed for dark backgroundsWhat I Expected
Either:
lightskin with dark text colors for light terminal backgroundspromptcolor key should also control prompt_toolkit's input text color, so custom skins can fix thisSkin System Analysis
The skin engine (
hermes_cli/skin_engine.py) supports custom color overrides via~/.hermes/skins/*.yaml, and it correctly applies to banner, response borders, and UI elements. However:promptcolorcolors.promptkey in the skin schema exists but does not affect the actual typing input colorWorkaround
Creating
~/.hermes/skins/light.yamlwith dark hex values fixes banner/UI text but NOT the live input text. The only full workaround is switching to a dark terminal profile.Suggested Fix
lightskin with dark text colorscolors.prompt(or addcolors.input_text) to prompt_toolkit's input style so skins can control typing text color$COLORFGBGenv var or similarScreenshots
[Will attach screenshots showing the unreadable UI on a cream terminal background]
Feature Type
Bug / CLI improvement
Contribution