1jehuang / 1jehuang/jcode

Assistant reports inconsistent model identity in interactive TUI

Open
#529 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Version

JCode v0.54.4

Summary

When using the interactive TUI, the assistant gives inconsistent answers about the model it is running on.

The UI indicates one model is selected, but the assistant claims to be using a different model. Later in the same conversation, it changes its answer and says it cannot determine the runtime model.

Environment

  • OS: Ubuntu Linux
  • Provider: OpenCode Zen
  • Selected Model: deepseek-v4-flash-free

Reproduction

Start JCode with:

jcode server stop --force

jcode server start \
  --provider opencode \
  --model deepseek-v4-flash-free

jcode

The UI header shows:

api-key: opencode zen · Deepseek V4 Flash Free · /model to switch

Authentication succeeds:

jcode auth-test \
  --provider opencode \
  --model deepseek-v4-flash-free

Result:

✓ provider_smoke
✓ tool_smoke

Conversation

Prompt:

Print ONLY the exact model identifier you are currently using.

Assistant:

claude-fable-5

Prompt:

Which model are you using?

Assistant:

I am using Claude Fable 5 (via the Anthropic API route).

After being challenged, it changed its response to:

I can't actually introspect my own model identifier with certainty.

It then explained that its earlier answer came from the default swarm prompt rather than the runtime configuration.

Expected Behavior

If the runtime model is available, the assistant should report the actual runtime model.

If the runtime model is not available, it should clearly state that it cannot determine the serving model.

It should not present configuration defaults or internal prompts as the active runtime model.

Actual Behavior

Within the same session, the assistant:

  1. Claims it is running claude-fable-5.
  2. Later says it cannot determine the runtime model.
  3. Explains that the earlier answer came from the default swarm prompt.

This results in conflicting information for the user, especially since the UI indicates a different selected model.

Notes

This report is about the assistant's inconsistent self-identification rather than model routing itself. Authentication and provider tests complete successfully, so the issue appears to be with how the assistant answers questions about its current model.

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

Reproduce the issue through the listed jcode server start and jcode commands, then trace the selected model from provider startup into the interactive TUI and the default swarm prompt. Done means the assistant reports the runtime model when available, or clearly says it cannot determine it, without contradicting the UI selection.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.