Assistant reports inconsistent model identity in interactive TUI
Nobody has claimed this yet.
- 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:
- Claims it is running
claude-fable-5. - Later says it cannot determine the runtime model.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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