Open-source project
th3jesta/ha-lcars avatar
th3jesta/ha-lcars

HA-LCARS rebuilds Home Assistant in the shape of a Star Trek panel

LCARS theme for Home Assistant

594 stars49 forksPythonMIT

At a glance

What is it?
HA-LCARS is a Home Assistant theme that redraws cards in the LCARS style of Star Trek, with themed entity and to-do lists, light and dark modes, and a dependency on the UIX extension. Version 4.1 moved stack titles into the borders, which broke existing dashboards.
Who is it for?
HA-LCARS suits a Home Assistant user who wants a dashboard that looks like a starship console and is willing to install the UIX extension and redo the dashboard layout after an upgrade. It does not suit a user who cannot add a custom card extension, or one whose dashboard depends on card-mod, since card-mod is broken by a recent Home Assistant Core update with no fix planned.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A theme that is almost entirely CSS

HA-LCARS is a Home Assistant theme that reimplements the interface in the LCARS style from Star Trek, the interface of panels with rounded elbows and colour coded sections. The colours and the font choice come from thelcars.com, and the project credits Jim Robertus for that. The author describes the goal plainly in the preamble: the theme should be entirely CSS and JavaScript with no extra assets required besides the font, and the author says outright that there are better ways to implement what has been done so far, that pull requests are welcome, and that comments in the CSS will keep being added so people can see what things do. That preamble is worth reading before you install anything, because it tells you what kind of project this is. It is one person, working on a visual layer, being explicit about the limits of their own approach. The project is MIT licensed, and it is listed in HACS, the community repository for Home Assistant custom components, which is how most users install it.

Lozenge, bullet, capped and barrel are the shape vocabulary

The 4.1 release is the one with the visible new features, and the first of them is themed entity lists. Entities Cards and Auto-Entities Cards can be themed into readouts with lozenge, bullet, capped and barrel shapes, and the icon cap can be hidden by applying the no-cap class. To-do lists get the same treatment, themed into those four shapes, including completed tasks and the control for adding a new task. The reason this is not just a colour job is that an entity row in Home Assistant is a small rectangle with text in it, and LCARS is a design language of specific rounded geometry. Turning a row into a lozenge or a barrel means rewriting the shape of the element, not tinting it, and that is why the shape names are the vocabulary of the theme. The author also says the theme has been tested with most of the out-of-the-box cards that ship with Home Assistant, plus some available through HACS such as the Mail and Packages card, while admitting that some cards could still be broken and asking people to open an issue when they find one.

Stack titles moved into the borders, and that broke dashboards

The 4.1 release also carries a breaking change, and the project flags it loudly. Stack titles have moved into the borders, which opens up possibilities for alternate layouts but could wreck the look and spacing of existing dashboards. The reason is structural rather than cosmetic: in the LCARS look a stack is a block of panels, and the panel borders are where a title naturally belongs, so putting the title inside the border edge is what makes the stack read like a console panel. The cost is that anything you built against the old placement, where the title sat above the card, now has a gap or a collision. The workaround given is to add a markdown card as the first card of the stack and give it a heading in its content, so the visual title stays where you want it. Here is the shape of that stack in YAML.

yaml
type: vertical-stack
title: Old Title
uix:
  class: header-left
cards:
  - type: markdown
    content: "# My New Title"
    uix:
      class: middle-blank
  - type: button
    entity: light.living_room_lamp
    uix:
      class: button-small

The two uix class values in that snippet are the theme's own vocabulary. A header-left class styles the stack header, middle-blank is the empty panel that carries the markdown heading, and button-small shrinks a button to fit the panel geometry. The old title stays in the configuration for the Home Assistant interface, and the visible title in the theme is the one inside the markdown card.

Light and dark modes exist for contrast, not decoration

Every theme now includes a light and a dark mode, and the reasoning given is an accessibility one. The LCARS panels found in Star Trek do not always comply with modern web accessibility standards for contrast, so where a theme has dark text on a darkish background, a light theme has been added that switches the text to light to improve contrast, and in a few cases the background colours have been lightened instead. The light and dark mode also changes how the backlight effect is applied if the LCARS Texture helper is turned on. This is a design decision with a real consequence: a theme that looks faithful to the screen original may be the theme that is hardest to read, and the project is telling you so rather than leaving you to squint.

The install depends on UIX because card-mod is broken

HA-LCARS does not style Home Assistant on its own. It injects its CSS using UI eXtension, UIX, which the project calls the in-kind successor to card-mod. The reason for the dependency is not a preference: a recent Home Assistant Core update broke card-mod and no fix is planned, so a theme built on card-mod would have been dead in the water. The installation instructions therefore start with prerequisites, and the first one is to enable themes and install UIX per its own quick start guide, and the README carries a separate section on converting an existing install that still uses card-mod over to UIX. The practical sequence for a new user is therefore: add the theme through HACS, enable themes in the Home Assistant configuration, install UIX, and then apply the LCARS classes to the cards you want restyled.

Thirteen themes, and the preamble says why they exist

The theme list is long enough to be a feature in itself: classic, the 25th century, next generation, lower decks, transporter, navigation, romulan, cardassia, kronos, breen, red alert, blue alert and yellow alert, which the project describes as Classic, 25th Century, Next Generation, Lower Decks, Romulus, Cardassia, Kronos, Nemesis and more. The alert colours and the different eras are the point of the theme as much as the panel shapes, since a dashboard for a red alert state looks different from one for a peaceful voyage. The screenshots in the repository cover the dashboard, the edit modes, and the mobile view with a mobile menu, which tells you the author considered a phone to be a primary case rather than an afterthought.

Packaging, repository layout and a very recent push

The repository holds the theme sources rather than a single file. There is a themes directory, a theme_flat directory, a src directory, a lcars.js file, a tungsten.css file, a hacs.json for the HACS listing, a docs directory, a py directory, a German README alongside the English one, and a contributing guide. The release tags are named after the project rather than the artefact, HA-LCARS 4.1.1 on 2026-07-03, HA-LCARS 4.1.2 on 2026-07-17 and HA-LCARS 4.1.3 on 2026-07-22. The last push was on 2026-10-20, so the repository is being worked on right now even though the tagged releases are from July, which usually means the changes are waiting for a next version tag. The licence is MIT, and the primary language listed for the repository is Python, which reflects the tooling around the theme rather than its content, since the theme itself is the CSS and JavaScript.

Editorial conclusion

HA-LCARS suits a Home Assistant user who wants a dashboard that looks like a starship console and is willing to install the UIX extension and redo the dashboard layout after an upgrade. It does not suit a user who cannot add a custom card extension, or one whose dashboard depends on card-mod, since card-mod is broken by a recent Home Assistant Core update with no fix planned. Before you upgrade to 4.1, note that stack titles have moved into the borders and check the conversion guidance, and pick the theme whose light mode you can live with, since contrast is the reason the light variants exist.

Frequently asked questions

What does HA-LCARS add to Home Assistant?

It is a theme that restyles Home Assistant in the Star Trek LCARS look, and in version 4.1 it themes Entities Cards, Auto-Entities Cards and to-do lists into lozenge, bullet, capped and barrel shapes, moves stack titles into the panel borders, and adds a light and a dark mode for every theme.

What do I need to install before using HA-LCARS?

The theme injects its CSS through the UI eXtension, or UIX, so themes must be enabled in Home Assistant and UIX must be installed from its quick start guide. The project notes that a recent Home Assistant Core update broke card-mod with no fix planned, which is why the theme now depends on UIX instead.

What changed in HA-LCARS 4.1?

The breaking change is that stack titles have moved into the borders, which can wreck the look and spacing of existing dashboards. The workaround is to add a markdown card as the first card of the stack with the title as a heading in its content. New features include themed entity and to-do lists, and light and dark modes for every theme.

Why does the theme have light and dark modes?

The project says the LCARS panels from Star Trek do not always comply with modern accessibility standards for contrast. Where a theme has dark text on a darkish background, a light variant switches the text to light to improve contrast, and in a few cases the background colours were lightened instead.

Official sources

  1. Issues
  2. License: MIT
  3. README
  4. Releases
  5. th3jesta/ha-lcars on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/th3jesta-ha-lcars.svg)](https://hysenlabs.com/projects/th3jesta-ha-lcars)

Was this useful?