1jehuang / 1jehuang/jcode

Client attached to older shared server: -m and /model silently ignored (version mismatch)

Open
#514 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

autonomous: no bug priority: high recurring-theme regression triage: needs-decision
Dominant language
Rust
Stars
19.9k
Forks
2.3k
Avg merge
2d 7h
Merged PRs (30d)
30

Description

v0.52.19-dev client (Eagle) attached via JCODE_SOCKET to a long-running v0.52.0 release server (Brook), same machine.

Symptoms:

  • jcode -m claude-sonnet-4-6 launches but session stays on the server's previous model (GPT-5.6 Sol); the -m is silently ignored.
  • /model claude-oauth:claude-sonnet-4-6 and the /model picker in the TUI also fail to switch, silently.
  • provider-doctor for the same model/route passes all catalog-tier checkpoints including 'Model switch route'.
  • Standalone attempt (JCODE_SOCKET= jcode -m ...) printed 'Using model: claude-sonnet-4-6' then died with 'Another jcode server process is already running for runtime dir /run/user/1000'.

Resolution: killing the old 0.52.0 server and letting a fresh server spawn made -m work immediately.

Suggestions: (1) client/server version mismatch should warn loudly or trigger server restart, (2) a failed model switch through the socket should surface an error instead of silently keeping the old model, (3) 'another server running' error could mention which PID/version owns the runtime dir.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the mismatch with jcode -m, /model, and JCODE_SOCKET using the reported client and server versions. Trace the client/server socket handling and model-switch path, then define done as a visible version or switch error instead of silently retaining the old model; the runtime-owner error may also need PID/version details.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.