Open-source project
hassio-addons/app-vscode avatar
hassio-addons/app-vscode

app-vscode: a Visual Studio Code that lives inside the Home Assistant frontend

Studio Code Server - Home Assistant Community Apps

690 stars123 forksDockerfileMIT

At a glance

What is it?
app-vscode is a Home Assistant community app that runs code-server in the browser, with the Home Assistant, MDI icon and YAML extensions pre-installed and pre-configured so editing your configuration has working auto-completion from the first page load. It suits a Home Assistant operator who wants a real editor without SSH, and the README deliberately points at a separate document for the details.
Who is it for?
Adopt app-vscode if you run Home Assistant and want to edit configuration in a browser with extension support and working auto-completion, rather than over SSH or in a text editor on a terminal. Do not adopt it as a general development environment for other projects, since the app exists to serve the Home Assistant configuration.
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 7 days ago.
What is it written in?
Mainly Dockerfile, according to GitHub's language statistics.

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

Editorial analysis

An editor that opens inside the Home Assistant frontend

The app is described in one line as a VSCode experience, accessible through the browser, and the screenshot in the repository shows it rendered inside the Home Assistant frontend rather than in a separate tab or a desktop application.

What runs underneath is code-server, the browser based build of Visual Studio Code. The README says it allows you to edit your Home Assistant configuration directly from your web browser, directly from within the Home Assistant frontend, and the point of the whole exercise is that no terminal session and no SSH client are required to change a YAML file.

That is the whole product, and it is deliberately small. The repository does not contain an editor. It contains the container recipe and the configuration that turns a code-server image into a Home Assistant app, plus the documentation for it. The primary language of the repository is listed as Dockerfile, which is the tell: what ships is an image, not a program you compile.

For a self hosted home automation system, the reasoning is sound. The person who owns the house is often the person who wants to change an automation, and the person who owns the house is often not comfortable with a shell session over SSH on a machine with a static IP and a key they set up years ago.

The extensions are pre-installed, which is the actual value

The detail that makes this app more than a container image is in the second paragraph of the About section. The app has the Home Assistant, MDI icons and YAML extensions pre-installed and pre-configured right out of the box, and the consequence is stated plainly: auto-completion works instantly, without the need for configuring anything.

That is a bigger deal than it sounds. code-server in the general case is a blank editor, and a blank editor on a Home Assistant configuration is nearly useless, because the interesting knowledge is in the schema of the configuration files. The Home Assistant extension supplies the knowledge of the domain and service names, the MDI icons extension supplies the icon names you can use in a view, and the YAML extension handles the language itself. With those three in place, the editor can tell you that a service name is wrong while you type it.

It also explains why the app is packaged the way it is. Shipping a pre-configured extension set means the container has to bake the extensions into the image, which is a build time decision rather than a runtime decision, and which is why the repository has a Dockerfile at its centre and a docs directory that explains the result.

For anyone who has tried to edit a Home Assistant YAML file in a bare text editor, this is the difference between guessing and knowing.

How a community app is different from something you run yourself

The repository layout shows how thin this project is by design. At the top level there is the .github directory with the workflows and the contribution guidelines, a .yamllint file, the README, an images directory with the screenshot, and a vscode directory that holds the app itself along with its documentation, including DOCS.md, which the README links as the full app documentation.

That structure is the Home Assistant app format rather than an application repository. An app in this ecosystem is a container image with a configuration describing how Home Assistant should run it, and users install it from the add-on store rather than by cloning a repository and reading a README. The README points to a separate repository listing all the Home Assistant apps, and the project describes itself as a Home Assistant Community App with a project stage badge that reads production ready.

The practical consequence for a reader is that the README is not a manual. It is a short landing page that says what the app is, links to the documentation, and points at the support channels. The full details, including how the app is exposed, are in the DOCS.md file inside the vscode directory.

That is a deliberate choice by a project with many apps to maintain, and it is worth knowing before you install it, because the questions you are likely to have are answered in the other document rather than here.

Where the answers come from when the app misbehaves

The support section lists the routes, and the ordering tells you something about the project's structure.

There is the Home Assistant Community Apps Discord chat server, which is where app support and feature requests go, and the Home Assistant Discord chat server for general Home Assistant discussion. There is the Community Forum, with a link to the thread for this add-on, and the Reddit community at r/homeassistant. And you can open an issue on the GitHub repository.

The split matters when you are deciding where to ask. A question about the code-server image or the bundled extensions belongs to the community apps Discord, because that is the project that ships the app. A question about how Home Assistant itself behaves belongs to the Home Assistant channels, because the app is only a container running beside it.

The project also names its people. The original setup of the repository is by Franck Nijhof, and the licence file carries a copyright line for 2019 to 2026, which is a useful signal about the age of the work and its continuity. The README points to a sponsor link for GitHub Sponsors and a Patreon page, and it says the project is an active open source project that is always open to people who want to use the code or contribute to it, with the contribution guidelines in a separate document under .github.

The full list of authors and contributors is left to the contributors page on GitHub, which is the usual pattern for a project of this size.

Release cadence and what the tags tell you

The release history shows an app that moves in step with the platform it runs on. v7.2.0 was published on 2026-09-27, v7.1.1 on 2026-09-17 and v7.1.0 on 2026-09-11, so three tagged releases inside about a fortnight and a half. The repository is not archived and the last push was on 2026-10-16.

Two badges in the README describe the project state, and they are worth reading as a pair. The project stage badge reads production ready, and the maintenance badge is stamped for 2026. Together they say this is a shipped app rather than an experiment, and that the person running it is still around.

For an add-on, the version number is not a library version in the usual sense. A Home Assistant app is coupled to the platform's configuration format and to the container runtime, so an app that is a version behind may not install, and an app that is too far ahead may not be accepted by the platform. The practical rule that follows is simple: install the app version that matches the Home Assistant release you are running, and let the store offer you the update rather than pinning a tag by hand.

The MIT licence is the permissive one, with the copyright line and the permission notice reproduced in full in the README, which is the standard text rather than a modified one.

Where a browser IDE is the wrong answer

It is worth being clear about the scope, because the app is often described more broadly than it is.

The stated purpose is editing Home Assistant configuration. Nothing in the documentation suggests it is a general development environment, and it should not be used as one. The extensions that make it useful are the Home Assistant ones, and the code-server instance is there to serve that one job. If you want to edit the configuration of a different platform, or run a project in the container, you are outside what this app is for.

The second limit is that the README is not the manual. There is no configuration walkthrough, no list of ports or options, no statement of how the app is reached and how it is protected, and no troubleshooting section for a failed start. All of that lives in the DOCS.md file. If you are evaluating the app, that document is the real documentation and the README is a pointer to it. The repository also does not discuss backups of the configuration you are about to edit, or what to do if a hand edit leaves Home Assistant unable to start, so anyone changing YAML through a browser editor should think about that before they do it.

The alternative worth naming is the shell. A terminal over SSH, or the Home Assistant terminal app, gets you to the same files with a text editor, and it gives you the ability to restart Home Assistant, read logs and roll back a change, none of which the browser editor offers. The trade is the one this project exists to solve: a shell needs a key and an IP address, while the browser editor needs a login to Home Assistant that you already have.

Editorial conclusion

Adopt app-vscode if you run Home Assistant and want to edit configuration in a browser with extension support and working auto-completion, rather than over SSH or in a text editor on a terminal. Do not adopt it as a general development environment for other projects, since the app exists to serve the Home Assistant configuration. Verify first that the version you install matches the Home Assistant release you run, since the app is versioned in step with the platform, and read the full documentation in vscode/DOCS.md, because the README covers only what the app is and where to get help.

Frequently asked questions

What does the app-vscode Home Assistant app do?

It runs code-server in the browser, which gives you a Visual Studio Code experience from within the Home Assistant frontend, so you can edit your Home Assistant configuration directly from the browser without opening a terminal.

Does app-vscode come with editor extensions pre-installed?

Yes. The Home Assistant, MDI icons and YAML extensions are pre-installed and pre-configured out of the box, which means auto-completion works instantly without any configuration.

Where is the full documentation for the Studio Code Server app?

The README links the full app documentation at the DOCS.md file in the vscode directory of the repository. The README itself only describes what the app is and lists the support channels, including the community apps Discord, the Home Assistant Discord, the community forum thread, Reddit and GitHub issues.

How often is the app-vscode add-on released?

The recent tags are v7.2.0 on 2026-09-27, v7.1.1 on 2026-09-17 and v7.1.0 on 2026-09-11, and the last push to the repository was on 2026-10-16. The project is marked production ready and its maintenance badge is stamped for 2026.

What licence is the Studio Code Server app released under?

MIT, with the copyright line for 2019 to 2026 Franck Nijhof, who is credited with the original setup of the repository. The full MIT permission text is reproduced in the README.

Official sources

  1. hassio-addons/app-vscode on GitHub
  2. Issues
  3. License: MIT
  4. README
  5. Releases
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/hassio-addons-app-vscode.svg)](https://hysenlabs.com/projects/hassio-addons-app-vscode)

Was this useful?