Skip to content

Fix the coach setup instructions found in review of #17 - #18

Merged
aderaaij merged 2 commits into
mainfrom
fix/connect-coach-followups
Nov 13, 2026
Merged

aderaaij merged 2 commits into
mainfrom
fix/connect-coach-followups

Conversation

@aderaaij

Copy link
Copy Markdown
Owner

Follow-up to #17, fixing the non-blocking findings from its independent review.

Changes

  • Node.js 20, not 18, for the Claude Desktop path, in the dashboard and the README. npx mcp-remote takes the latest release (0.16.6), which depends on undici 7, whose engines field requires Node >= 20.18.1.
  • Claude Code command uses --scope user, in the dashboard and the README. The default scope registers the server only for the folder the command is run in.
  • Claude Code command is one line in the dashboard. Backslash continuations only work in bash and zsh; the README keeps its multi-line form, which is labelled bash.
  • Every http address gets --allow-http. mcp-remote exempts only localhost and 127.0.0.1, so http://[::1] was refused; the flag is harmless on localhost.
  • The client choice locks once the token exists. The token is named after the client, and switching afterwards showed another client's setup under that name. The dialog now says to connect again for another app, which gets its own token.
  • The health test can fail now: it patches app.routes.health.MCP_ENABLED to both values.
  • Two CSS rules that .cli-box was overriding now apply; client chips carry aria-pressed; a local variable no longer shadows the imported clientLabel.

Verification

  • claude mcp add --help lists --scope; undici's engines read from the npx cache.
  • Snippet builder run for localhost, [::1], a tailnet http name and an https address: the flag appears on the three http ones only.
  • mcp-remote with --allow-http against http://localhost:8011/mcp connects and returns the handshake.
  • On the demo stack: after creating a token under Claude Code the other four chips are disabled, the token appears as "Coach · Claude Code", and the snippet's computed margin and line height match the new rules.
  • tsc -b passes, lint warning count unchanged (14, all pre-existing), tests/test_health.py 3 passed.

Not verified: the command on Windows shells, and behaviour on Node 18 (the minimum is taken from the dependency's declared requirement).

Node.js 20 is the minimum for the Claude Desktop path: `npx mcp-remote`
always takes the latest release, which depends on undici 7, and that
needs Node 20.18.1. The dashboard and the README both said 18.

The Claude Code command gains `--scope user`. The default scope
registers the server for the folder the command is run in, so running
it in the home folder and then opening a project showed no server. In
the dashboard the command is also one line now: backslash continuations
only work in bash and zsh, and it gets pasted into PowerShell and cmd.

Every http address gets --allow-http. mcp-remote exempts only
`localhost` and `127.0.0.1`, not `[::1]`, and the flag is harmless on
those, so the dashboard no longer mirrors that list.

Once a token exists the client choice is locked. The token is named
after the client it was created for, and switching afterwards showed
another client's setup carrying that name, so the token list misreported
what was using it. Another app now means another token.

The health test compared the response with the constant the route
reads, so it could not fail; it now patches both values. Two CSS rules
that .cli-box was overriding take effect, and the client chips report
their pressed state.
The client chips locked only once the token existed, so switching client
while the create request was in flight still produced one client's setup
under a token named after another. They now lock from the moment the
request is sent.

With --scope user, running `claude mcp add training` a second time is
refused everywhere ("already exists in user config"), which is exactly
what reconnecting after rotating a token runs into. The dashboard steps
and the README now say to remove the old entry first.

The Node.js minimum is stated as 20.18, which is what mcp-remote's
dependency declares, and the changelog no longer claims the helper was
observed failing on 18.
@aderaaij
aderaaij merged commit ed0d1cb into main Nov 13, 2026
3 checks passed
@aderaaij
aderaaij deleted the fix/connect-coach-followups branch November 13, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant