Theme-aware animated color post-processing for the OpenCode TUI. Transforms neutral text and surfaces into dynamic metallic gradients, animal prints, neon glows, nature textures, and 50+ visual styles.
Inspired by oc-plugin-rainbow by @kommander.
⚠️ Disclaimer: Some palettes (static, laser, neonflicker, rgbsplit, corrupt, datamosh) contain rapid flashing or high-contrast visuals. Enable CPU Saver to limit animation when not in use.
- 100 visual styles across metallic, animal, neon, glitch, nature, and abstract categories
- Live search — type to filter themes by name, description, or category instantly
- Auto-rotation — cycle through your favorite styles every session or on a timer
- Dark floor control — lift dark colors so text stays readable against dark backgrounds
- Per-style tuning — speed, band count, background glow intensity
- Logo splash — fade-to-white OpenCode logo screen (
ctrl+shift+r) - Live settings UI — tune everything via
/chameleon-settingswith keyboard navigation - CPU saver — drops to 1 FPS when the tab is hidden to reduce CPU usage
opencode plugin @divitkashyap/chameleon-tuiOr from OpenCode commands:
- Press
Ctrl+P - Select Install Plugin
- Enter
@divitkashyap/chameleon-tui
Requires OpenCode >=1.3.14.
| Name | Description |
|---|---|
silver |
Classic chrome silver |
gold |
Warm metallic gold |
rose |
Rose gold metallic |
purple |
Deep violet chrome |
blue |
Steel blue chrome |
green |
Emerald chrome |
red |
Ruby chrome |
iridescent |
Rainbow shimmer |
| Name | Description |
|---|---|
leopard |
Rosette spots with breathing effect |
zebra |
Crisp black/white shimmer stripes |
snake |
Scale-like iridescent green/purple |
cow |
Black spots on white, halftone style |
| Name | Description |
|---|---|
checker |
Flickering checkerboard vibration |
harlequin |
Diamond prismatic RGB splitting |
tartan |
Plaid lines with intersection brightening |
opart |
Concentric circles illusion of motion |
penrose |
Non-repeating tiling pattern |
| Name | Description |
|---|---|
plasma |
Swirling pinks, cyans, purples |
biolum |
Dark ocean with pulsing cyan points |
aurora |
Northern lights vertical curtains |
laser |
Red arcade laser grid |
neonflicker |
White/pink neon with random flicker |
neonbloom |
Thin bright neon with soft glow |
| Name | Description |
|---|---|
rgbsplit |
Horizontal RGB channel offset |
scanline |
Black with scrolling white lines |
static |
Full-color TV static |
corrupt |
Color blocks override palette |
vaporwave |
Purple→pink→cyan retro gradient |
datamosh |
Pixels bleed horizontally |
chroma |
Radial waves with prism fringing |
| Name | Description |
|---|---|
fire |
Black→red→orange→yellow upward flicker |
ocean |
Blues shift with wave horizontal bands |
lightning |
Near-black with white flash bolts |
ink |
Dark ink tendrils diffusing in water |
marble |
White with swirling gray veins |
lavalamp |
Blobs float and merge |
| Name | Description |
|---|---|
oilslick |
Iridescent rainbow oil on water |
holographic |
Rainbow diffraction grating |
carbon |
Tight diagonal carbon fiber weave |
copper |
Aged copper with patina greens |
brushed |
Fine horizontal steel scratches |
liquidmetal |
Mercury-like pools with ripples |
| Name | Description |
|---|---|
calligraphy |
Ink brush strokes with highlights |
splat |
Black with random ink drops |
drip |
Spray paint with downward drips |
watercolor |
Soft bleeding pigment effect |
glass |
Frosted etched geometric patterns |
feverdream |
Everything at once, maximum chaos |
Enable autoRotate to automatically cycle through a curated list of styles:
autoRotateInterval = 0— changes every new sessionautoRotateInterval = N— changes every N minutesrotateList— your personal playlist of styles to cycle through
{
"$schema": "https://opencode.ai/tui.json",
"plugin": [
[
"@divitkashyap/chameleon-tui",
{
"enabled": true,
"fg": true,
"bg": true,
"speed": 0.008,
"turns": 3,
"glow": 0.05,
"chameleonType": "silver",
"autoRotate": false,
"autoRotateInterval": 0,
"rotateList": ["silver", "gold", "plasma"],
"paletteFloor": 0.08
}
]
]
}Run /chameleon-settings to tune everything live. Type to search themes by name.
| Field | Type | Default | Description |
|---|---|---|---|
fg |
boolean | true |
Animate neutral text colors |
bg |
boolean | true |
Animate neutral background surfaces |
speed |
number | 0.008 |
Band movement speed (0–0.03) |
turns |
number | 3 |
Diagonal band count (0.25–8) |
glow |
number | 0.05 |
Background tint intensity (0–0.15) |
chameleonType |
string | silver |
Visual style from table above |
autoRotate |
boolean | false |
Enable automatic style rotation |
autoRotateInterval |
number | 0 |
Minutes between rotations (0 = per session) |
rotateList |
string[] | ["silver","gold","plasma"] |
Styles to cycle through |
paletteFloor |
number | 0.08 |
Minimum brightness for dark colors |
{
"$schema": "https://opencode.ai/tui.json",
"plugin": [["../../chameleon-tui", { "enabled": true, "chameleonType": "plasma" }]]
}Or install directly from npm:
opencode plugin @divitkashyap/chameleon-tui- ** @kommander** — oc-plugin-rainbow: Theme-aware rainbow post-processing foundation
- ** @anomalyco** — oc-plugin-rainbow maintainer
This plugin extends the rainbow concept with 50+ new visual styles and auto-rotation, but the core architecture and TUI integration patterns are derived from the rainbow plugin.
MIT
