← Schema index / Config Reference
tui schema (1951-2100)
Canonical generated docsThis section is generated from
caco config schema --json. The table below preserves the runtime field path, type, required/default markers, and canonical description for every value in this slice.TUI configuration — terminal dashboard settings.
| Field path | Type | Required | Default | Canonical description |
|---|---|---|---|---|
└ tui.ghostty.shaders.surfaces.terminal.inactive.border | string | optional | Border light while unfocused. | |
└ tui.ghostty.shaders.surfaces.terminal.inactive.strength | integer | optional | Strength percentage while unfocused, 0-300. | |
└ tui.ghostty.shaders.surfaces.agent | map | optional | Agent detail and session panes. | |
└ tui.ghostty.shaders.surfaces.agent.material | string | optional | Interior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido. | |
└ tui.ghostty.shaders.surfaces.agent.border | string | optional | Border light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber. | |
└ tui.ghostty.shaders.surfaces.agent.tint | string | optional | Hex tint, accent or secondary. | |
└ tui.ghostty.shaders.surfaces.agent.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.surfaces.agent.inactive | map | optional | Look while the pane is not focused. | |
└ tui.ghostty.shaders.surfaces.agent.inactive.material | string | optional | Interior material while unfocused. | |
└ tui.ghostty.shaders.surfaces.agent.inactive.border | string | optional | Border light while unfocused. | |
└ tui.ghostty.shaders.surfaces.agent.inactive.strength | integer | optional | Strength percentage while unfocused, 0-300. | |
└ tui.ghostty.shaders.surfaces.feed | map | optional | Feed, events, timeline, logs and notifications. | |
└ tui.ghostty.shaders.surfaces.feed.material | string | optional | Interior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido. | |
└ tui.ghostty.shaders.surfaces.feed.border | string | optional | Border light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber. | |
└ tui.ghostty.shaders.surfaces.feed.tint | string | optional | Hex tint, accent or secondary. | |
└ tui.ghostty.shaders.surfaces.feed.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.surfaces.feed.inactive | map | optional | Look while the pane is not focused. | |
└ tui.ghostty.shaders.surfaces.feed.inactive.material | string | optional | Interior material while unfocused. | |
└ tui.ghostty.shaders.surfaces.feed.inactive.border | string | optional | Border light while unfocused. | |
└ tui.ghostty.shaders.surfaces.feed.inactive.strength | integer | optional | Strength percentage while unfocused, 0-300. | |
└ tui.ghostty.shaders.surfaces.board | map | optional | Beads, plans, flows and other boards. | |
└ tui.ghostty.shaders.surfaces.board.material | string | optional | Interior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido. | |
└ tui.ghostty.shaders.surfaces.board.border | string | optional | Border light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber. | |
└ tui.ghostty.shaders.surfaces.board.tint | string | optional | Hex tint, accent or secondary. | |
└ tui.ghostty.shaders.surfaces.board.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.surfaces.board.inactive | map | optional | Look while the pane is not focused. | |
└ tui.ghostty.shaders.surfaces.board.inactive.material | string | optional | Interior material while unfocused. | |
└ tui.ghostty.shaders.surfaces.board.inactive.border | string | optional | Border light while unfocused. | |
└ tui.ghostty.shaders.surfaces.board.inactive.strength | integer | optional | Strength percentage while unfocused, 0-300. | |
└ tui.ghostty.shaders.surfaces.dashboard | map | optional | Status, overview and fleet dashboards. | |
└ tui.ghostty.shaders.surfaces.dashboard.material | string | optional | Interior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido. | |
└ tui.ghostty.shaders.surfaces.dashboard.border | string | optional | Border light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber. | |
└ tui.ghostty.shaders.surfaces.dashboard.tint | string | optional | Hex tint, accent or secondary. | |
└ tui.ghostty.shaders.surfaces.dashboard.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.surfaces.dashboard.inactive | map | optional | Look while the pane is not focused. | |
└ tui.ghostty.shaders.surfaces.dashboard.inactive.material | string | optional | Interior material while unfocused. | |
└ tui.ghostty.shaders.surfaces.dashboard.inactive.border | string | optional | Border light while unfocused. | |
└ tui.ghostty.shaders.surfaces.dashboard.inactive.strength | integer | optional | Strength percentage while unfocused, 0-300. | |
└ tui.ghostty.shaders.surfaces.other | map | optional | Every other pane. | |
└ tui.ghostty.shaders.surfaces.other.material | string | optional | Interior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido. | |
└ tui.ghostty.shaders.surfaces.other.border | string | optional | Border light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber. | |
└ tui.ghostty.shaders.surfaces.other.tint | string | optional | Hex tint, accent or secondary. | |
└ tui.ghostty.shaders.surfaces.other.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.surfaces.other.inactive | map | optional | Look while the pane is not focused. | |
└ tui.ghostty.shaders.surfaces.other.inactive.material | string | optional | Interior material while unfocused. | |
└ tui.ghostty.shaders.surfaces.other.inactive.border | string | optional | Border light while unfocused. | |
└ tui.ghostty.shaders.surfaces.other.inactive.strength | integer | optional | Strength percentage while unfocused, 0-300. | |
└ tui.ghostty.shaders.surfaces.modal | map | optional | Modal dialogs. | |
└ tui.ghostty.shaders.surfaces.modal.material | string | optional | Interior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido. | |
└ tui.ghostty.shaders.surfaces.modal.border | string | optional | Border light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber. | |
└ tui.ghostty.shaders.surfaces.modal.tint | string | optional | Hex tint, accent or secondary. | |
└ tui.ghostty.shaders.surfaces.modal.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.surfaces.modal.inactive | map | optional | Look while the pane is not focused. | |
└ tui.ghostty.shaders.surfaces.modal.inactive.material | string | optional | Interior material while unfocused. | |
└ tui.ghostty.shaders.surfaces.modal.inactive.border | string | optional | Border light while unfocused. | |
└ tui.ghostty.shaders.surfaces.modal.inactive.strength | integer | optional | Strength percentage while unfocused, 0-300. | |
└ tui.ghostty.shaders.surfaces.toast | map | optional | Toast notifications. | |
└ tui.ghostty.shaders.surfaces.toast.material | string | optional | Interior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido. | |
└ tui.ghostty.shaders.surfaces.toast.border | string | optional | Border light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber. | |
└ tui.ghostty.shaders.surfaces.toast.tint | string | optional | Hex tint, accent or secondary. | |
└ tui.ghostty.shaders.surfaces.toast.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.surfaces.toast.inactive | map | optional | Look while the pane is not focused. | |
└ tui.ghostty.shaders.surfaces.toast.inactive.material | string | optional | Interior material while unfocused. | |
└ tui.ghostty.shaders.surfaces.toast.inactive.border | string | optional | Border light while unfocused. | |
└ tui.ghostty.shaders.surfaces.toast.inactive.strength | integer | optional | Strength percentage while unfocused, 0-300. | |
└ tui.ghostty.shaders.surfaces.popup | map | optional | Popup menus. | |
└ tui.ghostty.shaders.surfaces.popup.material | string | optional | Interior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido. | |
└ tui.ghostty.shaders.surfaces.popup.border | string | optional | Border light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber. | |
└ tui.ghostty.shaders.surfaces.popup.tint | string | optional | Hex tint, accent or secondary. | |
└ tui.ghostty.shaders.surfaces.popup.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.surfaces.popup.inactive | map | optional | Look while the pane is not focused. | |
└ tui.ghostty.shaders.surfaces.popup.inactive.material | string | optional | Interior material while unfocused. | |
└ tui.ghostty.shaders.surfaces.popup.inactive.border | string | optional | Border light while unfocused. | |
└ tui.ghostty.shaders.surfaces.popup.inactive.strength | integer | optional | Strength percentage while unfocused, 0-300. | |
└ tui.ghostty.shaders.events | map | optional | Event pulse styles by event kind: info, success, attention, error, operator. | |
└ tui.ghostty.shaders.events.info | map | optional | Routine messages and unclassified feed events. | |
└ tui.ghostty.shaders.events.info.effect | string | optional | Pulse effect: none, ripple, flare, sweep, firework. | |
└ tui.ghostty.shaders.events.info.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.events.info.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.events.info.duration_ms | integer | optional | Pulse duration in milliseconds, 200-4000. | |
└ tui.ghostty.shaders.events.success | map | optional | Completions, merges and releases. | |
└ tui.ghostty.shaders.events.success.effect | string | optional | Pulse effect: none, ripple, flare, sweep, firework. | |
└ tui.ghostty.shaders.events.success.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.events.success.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.events.success.duration_ms | integer | optional | Pulse duration in milliseconds, 200-4000. | |
└ tui.ghostty.shaders.events.attention | map | optional | Questions, approvals, choices and blocked work. | |
└ tui.ghostty.shaders.events.attention.effect | string | optional | Pulse effect: none, ripple, flare, sweep, firework. | |
└ tui.ghostty.shaders.events.attention.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.events.attention.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.events.attention.duration_ms | integer | optional | Pulse duration in milliseconds, 200-4000. | |
└ tui.ghostty.shaders.events.error | map | optional | Failures and errors. | |
└ tui.ghostty.shaders.events.error.effect | string | optional | Pulse effect: none, ripple, flare, sweep, firework. | |
└ tui.ghostty.shaders.events.error.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.events.error.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.events.error.duration_ms | integer | optional | Pulse duration in milliseconds, 200-4000. | |
└ tui.ghostty.shaders.events.operator | map | optional | Your own sent messages. | |
└ tui.ghostty.shaders.events.operator.effect | string | optional | Pulse effect: none, ripple, flare, sweep, firework. | |
└ tui.ghostty.shaders.events.operator.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.events.operator.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.events.operator.duration_ms | integer | optional | Pulse duration in milliseconds, 200-4000. | |
└ tui.ghostty.shaders.states | map | optional | Live agent-state auras on agent panes and the sidebar: working, attention, error, done, waiting. | |
└ tui.ghostty.shaders.states.working | map | optional | Running with recent tool activity. | |
└ tui.ghostty.shaders.states.working.effect | string | optional | Aura effect: none, shimmer, heartbeat, glitch, glow. | |
└ tui.ghostty.shaders.states.working.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.states.working.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.states.attention | map | optional | Waiting, blocked, paused or stalled. | |
└ tui.ghostty.shaders.states.attention.effect | string | optional | Aura effect: none, shimmer, heartbeat, glitch, glow. | |
└ tui.ghostty.shaders.states.attention.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.states.attention.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.states.error | map | optional | Failed. | |
└ tui.ghostty.shaders.states.error.effect | string | optional | Aura effect: none, shimmer, heartbeat, glitch, glow. | |
└ tui.ghostty.shaders.states.error.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.states.error.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.states.done | map | optional | Completed. | |
└ tui.ghostty.shaders.states.done.effect | string | optional | Aura effect: none, shimmer, heartbeat, glitch, glow. | |
└ tui.ghostty.shaders.states.done.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.states.done.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.states.waiting | map | optional | Attention that has persisted for 20 s. | |
└ tui.ghostty.shaders.states.waiting.effect | string | optional | Aura effect: none, shimmer, heartbeat, glitch, glow. | |
└ tui.ghostty.shaders.states.waiting.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.states.waiting.strength | integer | optional | Strength percentage, 0-300. | |
└ tui.ghostty.shaders.unfocused | string | optional | Treatment of panes other than the focused one: dim, frost, deep, fade, phosphor, cool, sketch, hologram, recede, fog, wet, sepia, derez, blur. Defaults to the preset's. | |
└ tui.ghostty.shaders.input | map | optional | Pointer, click and keystroke effects; omitted parts come from the preset. | |
└ tui.ghostty.shaders.input.pointer | string | optional | Light following the pointer: none, glow, lantern, reticle, lens, magnify, spotlight, magnet, prism, haze. | |
└ tui.ghostty.shaders.input.click | string | optional | Click effect: none, shockwave, burst, ping, derez, ink, bloom, shatter, swirl. Scrolling sends speed lines whenever one is set. | |
└ tui.ghostty.shaders.input.keys | string | optional | Keystroke effect at the text cursor or focused input: none, sparks, glitch, ripple, flash, heat. | |
└ tui.ghostty.shaders.input.color | string | optional | Hex colour, accent or secondary. | |
└ tui.ghostty.shaders.input.lens | map | optional | A magnifying lens over the pointer, on any look. Ctrl+Alt+Z shows or hides it. | |
└ tui.ghostty.shaders.input.lens.mode | string | optional | pointer | When it shows: pointer (while the pointer moves), toggle (from Ctrl+Alt+Z), always, or off. |
└ tui.ghostty.shaders.input.lens.zoom | int | optional | 180 | Magnification percentage, 120-400. |
└ tui.ghostty.shaders.input.lens.radius | int | optional | 4 | Radius in text rows, 1-12. |
└ tui.ghostty.shaders.input.hover | string | optional | both | What answers the pointer: controls (buttons light, tabs and links underline), panes (the border nearest the pointer lights), both, or none. |
└ tui.ghostty.shaders.text | map | optional | Arriving text and the freshest arrival; omitted parts come from the preset. | |
└ tui.ghostty.shaders.text.reveal | string | optional | sweep | How a new chat message draws in: sweep (row by row behind a caret of light), dissolve, glow, or none. |
└ tui.ghostty.shaders.text.fresh | string | optional | halo | How the freshest arrival is marked: halo (a glow round its box that settles), sheen (and a band of light across it), or none. |
└ tui.ghostty.shaders.text.strength | int | optional | 100 | Strength percentage, 0-300. |
└ tui.ghostty.shaders.captions | bool | optional | true | Briefly name the event behind each pulse in the footer. |
└ tui.ghostty.shaders.source_highlight | bool | optional | true | Flash the row or input that caused a pulse before it spreads. |
└ tui.ghostty.pane_looks | map[string, string] | optional | Per-pane shader looks: a lens view ref (Global::Chat, <project>::Agent::<id>,...) mapped to a look name or inherit. Up to four pane looks show at once; Ctrl+Alt+Shift+S and the command palette override them per workspace pane. | |
└ tui.theme | map | optional | Theme configuration. | |
└ tui.theme.colors | map[string, string] | optional | Per-slot color overrides (foreground, background, color0–color15 as hex). | |
└ tui.theme.transparent | bool | optional | Omit background color to let terminal background show through. | |
└ tui.theme.foreground_color | string | optional | Override primary foreground color (hex, e.g. '#d8dee9'). | |
└ tui.theme.background_color | string | optional | Override base background color (hex, e.g. '#2e3440'). | |
└ tui.theme.header | map | optional | Header (tab bar) transparency override. | |
└ tui.theme.header.transparent | bool | optional | Override global transparent flag for the header region. | |
└ tui.theme.footer | map | optional | Footer (status bar) transparency override. | |
└ tui.theme.footer.transparent | bool | optional | Override global transparent flag for the footer region. | |
└ tui.theme.bubble | map | optional | Per-bubble-type text-style overrides for chat/message bubbles. | |
└ tui.theme.bubble.overrides | map[string, object] | optional | Per-bubble-type style overrides keyed by bubble type (thinking, user, assistant, system, timestamp). |