Closed bug report

Mac: Claude Code panel won't start a session (fixed by killing the duplicate) — two Hydrogen instances running at once (0.1.420 + 0.1.421-dev.4), port collisions, Adom themes missing

anastasia · 15d ago ·closed by Kyle Bergstedt

@kyle — collected on anastasia's Mac on 2026-10-26 (Apple Silicon, 16 GB RAM, Darwin 25.6.0).

What the user saw

  • The Claude Code panel in Hydrogen's VS Code would not start a session.
  • She restarted the workspace container a few times. After that, VS Code also lost the Adom theme.
  • The Mac was under heavy memory pressure: 7.0 of 8 GB swap used, Premiere Pro at about 4.1 GB, and the Lima VM at about 4.1 GB.

Findings

1. Two Hydrogen instances were running at the same time

PID Path Version Started
16214 /Applications/Adom Hydrogen.app 0.1.420 Sun 10 AM
8758 /Volumes/Adom Hydrogen/Adom Hydrogen.app (mounted DMG) 0.1.421-dev.4 (BUILD_STAMP 5a0d86a1…-dirty) Mon 2:31 PM

The second instance launched without any single-instance check. Both write to the same ~/Library/Application Support/adom-hydrogen/adom-hydrogen.log. The second one failed to bind every port:

14:32:03.563 INF [direct-api] :8770 unavailable (Address already in use) — binding ephemeral fallback
14:32:03.563 ERR [discover] Failed to bind 0.0.0.0:47080 — Address already in use
14:32:04.424 ERR [bridge-supervisor] liveness beacon bind :9001 failed: Address already in use (Adom Bridge embedded monitor may flap)
14:32:04.765 ERR [shell] FAILED to bind http://127.0.0.1:1431 (Address already in use) — window will not load
14:32:04.887 WRN Proxy server error: Address already in use
14:32:04.887 ERR [control] bind 0.0.0.0:47084 attempt 1/8 … 8/8 failed

Even with no ports, the dev.4 instance still:

  • restarted code-server: CS_UNIT_RESTARTED_NEW_FLAGS
  • re-merged VS Code settings
  • overwrote ~/.adom/hydrogen-direct-api-port with 0.0.0.0:56338, its ephemeral fallback port
  • took Bridge ownership: embedded.json shows owner_pid: 0 and entered_via: runtime-adopt

The result was two workbench clients against one code-server, with two Claude extension hosts (exthost1 and exthost2) each spawning claude.

Ask: enforce a single instance, such as a lock file or a probe of :1431/:47084 before starting. If a second launch happens anyway, it should focus the running instance or offer to replace it, not run headless and mutate shared state.

2. The workspace WebSocket flapped for about 2 hours

[workspace] WS error … Keepalive timeout — no pong received
[workspace] (still retrying — 81 consecutive failures, same error)

This repeated about every 60 s against ws://127.0.0.1:8765 from 14:33 to 16:30. That was probably the two instances, plus the VM under memory pressure.

3. code-server restarts, user-triggered

  • At 16:23 and 16:28: cs-watch: code-server restarted … unannounced and cs-pane lifecycle: machine stopped externally.
  • Every Hydrogen launch also logs CS_UNIT_RESTARTED_NEW_FLAGS, so code-server restarts on each launch.

4. The Adom themes are gone

  • settings.json has "workbench.colorTheme": "Adom Studio", and Hydrogen re-merges it on every start.
  • No installed extension contributes that theme. ~/.local/share/code-server/extensions/ contains only adom.adom-agent-bar-0.2.6, anthropic.claude-code-2.1.310, google.google-antigravity, moonshot-ai.kimi-code and openai.chatgpt.
  • The Hydrogen log prints [macos] adom-vscode macOS line: MISSING on every start, so the extension that provides the theme looks like it isn't installed on the mac line, or got dropped on a container restart.
  • The Hydrogen page lists the color schemes as Adom Studio (default), Adom Studio Dark, Kickstand and Slate, which Windows Hydrogen has in VS Code. None of them are present on the Mac workspace, so VS Code falls back to its stock theme. Ask: ship the adom-vscode theme extension on the macOS line, the same as Windows.

5. Claude itself is healthy

  • Inside Adom-Workspace, claude -p "reply with the single word OK" returns OK, and OAuth tokens are found.
  • The extension logs show launch_claude going to Launching Claude on channel … with no spawn or auth errors.

That points the failure at the webview, the extension host, or the workbench connection, not the CLI. The extension logs do contain these noise items:

  • claude-vscode notification channel error: Received a response for an unknown message ID {"id":0}. This could fit two clients sharing one backend.
  • [uds-messaging] Failed to set up sockets directory /tmp/cc-socks-1001 … a sockets-directory component is not a pr[ivate dir], because /tmp in the nspawn container is a tmpfs owned by root.
  • YAML frontmatter fails to parse in the synced skills adom-bridge-notify, adom-bridge-embedded and adom-bridge-web-integration.
  • claude-artifacts MCP returns 404.

What I did

  1. Sent TERM to both instances (16214 and 8758), which freed all the ports.
  2. Relaunched only 0.1.421-dev.4 from the DMG, which is what the user wanted. Every bind succeeded (serving … on http://127.0.0.1:1431).
  3. There is now a single exthost, and the extension launched Claude at 16:42:12 with no errors.

Status after the relaunch: the user confirms the Claude panel works again with only dev.4 running. The Adom themes are still missing.

Logs

  • Mac: ~/Library/Application Support/adom-hydrogen/adom-hydrogen.log and .log.1
  • Container: /home/adom/.local/share/code-server/logs/20261026T143215, …T162307, …T162807 and …T164200 (exthost*/Anthropic.claude-code/Claude VSCode.log)

Filed via Claude Code on anastasia's behalf.

3 Replies

anastasia · 15d ago

@kyle, a follow-up on finding #4 (themes): the Mac workspace isn't running an Adom VS Code build at all. It's stock code-server.

  • Inside Adom-Workspace, dpkg -l shows hi code-server 4.136.2 (held), and code-server --version prints 4.136.2 8d5f383f… with Code 1.136.1.
  • /usr/lib/code-server/lib/vscode/product.json has "nameLong": "code-server", so this is Coder's upstream build, not an Adom-branded one.
  • No Adom VS Code package is installed in the container. /opt/adom only holds bootstrap.sh, and the Mac has no Adom VS Code app.
  • The only Adom extension present is adom.adom-agent-bar-0.2.6.
  • Hydrogen logs [macos] adom-vscode macOS line: MISSING on every launch, back to at least 2026-10-23. It then carries on with stock code-server (re-ensured code-server on launch) and never installs or falls back to the Adom line.

So the missing Adom Studio, Adom Studio Dark, Kickstand and Slate themes are a symptom: the macOS line never gets the Adom VS Code that Windows Hydrogen ships. Meanwhile settings.json keeps asking for "workbench.colorTheme": "Adom Studio", which doesn't exist here, so VS Code falls back to its default theme.

Ask: when the adom-vscode macOS line is MISSING, either install it, or at least side-load the Adom theme extension into stock code-server so Mac matches Windows.

anastasia · 15d ago

@kyle, an update: I got adom-vscode working on this Mac by hand. It confirms the core-tools step never installed the macOS line.

State before

  • /usr/local/bin/adom-vscode was 1.1.47, a stale upstream binary.
  • There was no adom.adom-vscode extension, no adom.adom-theme, no ~/.local/share/adom-vscode/flavor marker, and nothing under ~/project/adom_modules/adom/adom-vscode*.
  • /tmp/hydrogen-core-tools-install.log is gone, because /tmp in the nspawn container is a tmpfs wiped by the container restarts. That log should live somewhere persistent, or we can't see why the install failed.

What I ran (as adom inside Adom-Workspace, adom-wiki 1.0.2):

ADOM_WIKI_REGISTRY=https://wiki.adom.inc adom-wiki pkg install adom/adom-vscode-macos --allow-sudo
adom-vscode reload
adom-vscode theme set "Adom Studio"

Result: rc=0, and the registry reports adom/adom-vscode-macos 1.1.113 (app) plus adom/adom-theme 2.3.9 (skill).

  • code-server --list-extensions now shows [email protected] and [email protected].
  • The flavor marker reads macos 1.1.113.
  • adom-vscode health reports the extension v1.1.113 running on :8821 with 47 verbs.
  • All five themes now appear: Adom Studio, Adom Studio Dark, Adom Studio Dark (Brighter Text), Adom Kickstand and Adom Slate. Adom Studio is applied live.
  • After the reload, Claude Code relaunched fine at 16:47:09.

Loose ends for you

  1. Stale binary on PATH. ~/.local/bin/adom-vscode is now 1.1.113 (macos), but /usr/local/bin/adom-vscode is still 1.1.47. Hydrogen's scripts call /usr/local/bin/adom-vscode reload/panel/sidebar by absolute path, so they hit the old binary.
  2. Version mismatch. The adom/adom-theme package is 2.3.9, but the installer registered theme pack v2.3.7 in code-server.
  3. Missing sub-skill. adom-vscode-modes returns 404 (/api/v1/pages/adom-vscode/files/skills/adom-vscode-modes/SKILL.md), so 5 of 6 sub-skills installed.
  4. Before the install, VS Code showed Dark+, even though settings.json said Adom Studio, because the theme didn't exist. Hydrogen kept re-merging the setting without checking that the theme extension was present.
  5. Not yet verified: whether Hydrogen's launch check still logs adom-vscode macOS line: MISSING on the next launch now that the flavor marker exists. I didn't relaunch Hydrogen to avoid interrupting the user. If it still says MISSING, the check is looking at something other than the marker or --list-extensions.

Posted via Claude Code on anastasia's behalf.

Kyle Bergstedt closed this · 4d ago
Kyle Bergstedt reopened this · 4d ago
Kyle Bergstedt · 4d ago

fixed: a second launch now hands off to the running app (single-instance lock), and 0.1.429 closes an older copy running beside it, with a hint to eject the disk image. missing themes are tracked in #13

Kyle Bergstedt closed this · 4d ago

Log in to reply.