Code Editor: modern code-server app for Home Assistant

Code Editor: a modernized code-server app for Home Assistant

Hi everyone,

I’ve been working on a fork of the Studio Code Server add-on, now renamed Code Editor, with the goal of keeping the browser-based VS Code experience fresh, faster, and more focused for Home Assistant users.

This version updates the core editor stack to:

  • code-server 4.118.0
  • VS Code 1.118.0
  • Home Assistant CLI 5.1.0
  • Updated Home Assistant-focused extensions, including YAML, ESPHome, Python, Pylance, Ruff, Jinja, Material Design Icons, and Home Assistant Config Helper

I also spent time cleaning up the runtime and startup behavior:

  • Faster startup path
  • Smaller default package surface
  • Removed unused services and packages from the base image
  • More focused /config workspace defaults
  • Bundled extensions are installed from pinned VSIX files
  • Added an nginx ingress proxy so code-server only listens locally
  • Added an AppArmor profile
  • Added Home Assistant/Pyscript-aware Ruff defaults

Install repository:

If the My Home Assistant button does not open the repository dialog correctly, add the repo manually from the three dots menu.

This is a new fork, so I’d really appreciate testing and feedback, especially around startup behavior, bundled extensions, Ruff/Python support, and ingress access across different Home Assistant OS installs. (I built in a lot of python support because I use pyscript for a lot of my automations).

Thanks!

4 Likes

A big benefit of this update is I was able to successfully log into GitHub Copilot and Claude Code. Codex does not work though.

Trying to fix this issue.
@tom_l can you update and let me know if it works for you? I can keep iterating from your feedback. Instead of forking and maintaining a whole other repo, I'm taking a targeted patching approach for now.

1.118.0.1 - 2026-05-13

This release patches the bundled Home Assistant Extension (v2.2.0) to remove deprecated property markers from its JSON schemas.

It now suggests the modern Home Assistant syntax.

  • trigger instead of platform
  • action instead of service

Singular, not plural.

  • trigger replaces platform
  • action replaces service

Old-style:

alias: foo
trigger:
  - platform: state
    entity_id: switch.foo
    to: 'on'
condition: []
action:
  - service: input_boolean.turn_on
    target:
      entity_id: input_boolean.foo

New-style:

alias: foo
triggers:
  - trigger: state
    entity_id: switch.foo
    to: 'on'
conditions: []
actions:
  - action: input_boolean.turn_on
    target:
      entity_id: input_boolean.foo

FWIW, the old style continues to be supported (to avoid a breaking change) but users (who compose automations in YAML) are encouraged to adopt the new-style

Sorry, the changelog wording was wrong (fixed), the patch does the correct thing. Were you able to test? Thanks!

1 Like

I hesitate to try it. Here's why:

My HA server is an ancient laptop with 4GB of RAM. The last time I tried the official VS Code server app, it took forever to load, ran like molasses and eventually crashed Home Assistant.

Based on that experience, I just run the VS Code editor on a separate daily-driver laptop and edit the HA server's files (via Samba).

Fair enough. I run it on a 4GB of ram VM. It doesn't max it out but definitely uses more ram than any other app/integration.

While running Code Editor

After stopping Code Editor

The original VSCode seemed to be leaking memory with use or something like that, leading to what Taras experienced, even on a 16GB NUC. So I'm b bit reluctant too. When I have time and courage....

That codebase was super old, which is why I made this attempt at updating everything. It's working great for me and I've been using it for the last few days. But again, hard to know until people try it on other systems. The VS Code team has shipped hundreds of updates since the last version the old Studio Code Server app uses.

You can read through my initial set of changes here which includes a Faster Startup and Smaller Runtime Surface section.

I also added an nginx ingress proxy to improve the security of the app.
It now has the highest security rating 7/7.

1 Like

I decided to give this App a shot. I shutdown the VS Code App and installed this. The editor seems smooth and functional on my Proxmox hosted HAOS VM. I've only had a few minutes to check it out, but I do still get some YAML schema patternwarnings I was seeing in VS Code. Like this block from here: Trigger based template sensor to store global variables

I'll keep testing, but happy to see at least the extensions are being updated.

1 Like

Well, that YAML is still using legacy syntax, so I probably should update it.

Update:
Done

2 Likes

It would be great to see this implemented: support ignore directives to skip linting errors by johntdyer · Pull Request #4047 · keesschollaart81/vscode-home-assistant

Is that possible with the extension included in Code Editor? Or could we build the extension locally and replace the existing?

You could build the extension locally and replace it after the initial install of Code Editor. Currently I'm patching the extension in my build to get the new syntax working... but a patch isn't a great approach for larger changes like completely new functionality.

I wonder if @frenck is interested in accepting maintainers for some of his repos? I'd be more than willing to help with the vscode extension instead of forking to get updates out to the public.

2 Likes

I was able to build the extension with the PR to support ignore directives. Extended a bit beyond the PR I linked as it didn't allow ignoring yaml-schema errors. So far, the new code-server app is working great. Thanks for making this!

1 Like

sweet! Can you share the .vsix file? I can build it into the installer for Code Editor.

I sent you a DM with the link to the updated extension. The link is good for 14 days.

Done

1 Like

Thanks for that add-on, I really like it so far. Only issue I had was that the Copilot coding agent is not working. I could sign in just fine but the prompts I send get stuck every time.

After submitting a prompt, the text "Activating MCP extensions... Skip" appears which I skip as I don't need them (I tried waiting for it to complete, never happened...).
Then, "Working" appears, which never completes / does anything.

The "Agent Debug Logs" only show this: