[FEATURE] VS Code extension: show model, Ultracode/mode, effort, and usage indicators next to the chat input (desktop app parity)
Feature category: VS Code Extension UI (chat panel / input area)
Problem statement
The Claude Code VS Code extension chat input is missing the session-status indicators that the Claude desktop app shows right next to its input box. In the desktop app I can see at a glance the current model (e.g. "Opus 4.8"), whether Ultracode is active, and a small usage ring. In the VS Code extension, none of these are visible:
- Ultracode indicator. The desktop app shows an "Ultracode" label next to the input when the session is in Ultracode. The extension shows nothing, so a new session can silently start outside Ultracode when I intended to work in it — there is no visual cue that I've slipped out of the mode.
- Effort level. The current effort level is invisible until I click the mode/permission picker (the popup with Manual / Edit automatically / Plan / Auto), which reveals an "Effort (Extra high)" slider at the bottom. Before clicking, I had no way to tell what effort level was in use.
- Current model. The desktop app displays the active model beside the input; the extension does not show the model anywhere in the chat element.
- Usage indicator. The desktop app shows a small usage circle/ring near the input; the extension has no always-visible equivalent (only the near-limit inline warning, cf. #76883).
The mode/effort state materially changes what a session does (and costs), and it varies per session. When it isn't surfaced, the failure mode is silent: you only discover you were in the wrong mode/effort after the work is done.
Proposed solution
Show a compact status strip in (or adjacent to) the chat input, matching the desktop app: <model> · <mode badges (Ultracode, …)> · <effort> · <usage ring> — ideally clickable to open the existing pickers.
Use case example
I work in Ultracode by default on my main project. I open a new VS Code chat session, type a substantive prompt, and only later discover the session wasn't in Ultracode — nothing in the input area indicated the mode, and checking would have required opening the mode picker popup before every message.
Priority
Medium — no data loss, but it silently changes session behavior/cost and requires a click-per-session workaround.
Alternatives considered
- A CLI-style configurable statusLine in the extension would also cover this (previously requested in #55643 / #20207, closed), but simple parity with the desktop app's input-adjacent indicators would be enough.
Related issues (searched before filing — none cover the VS Code extension input area)
- #71583 — the same model/effort/usage readout, requested for mobile/web (this is the VS Code counterpart)
- #75047 — persistent current-model display, filed for the TUI
- #68754 (closed) — VS Code effort slider never reflects an active persisted
ultracode: true; the missing always-visible indicator makes that worse - #72699 — always-visible provider/account indicator in the extension (same "see session state without clicking" theme)
- #18456 / #66021 / #33819 — context/token-usage indicators in the extension (adjacent; this request is about the account-usage ring)
Environment
- Claude Code VS Code extension v2.1.207 (
anthropic.claude-code-2.1.207-win32-x64) - VS Code on Windows 11 (10.0.26200)
Screenshots
Screenshots to be attached in a comment: (1) extension chat input with no status indicators; (2) desktop app showing "Opus 4.8", "Ultracode", and the usage ring; (3) the extension's mode picker popup — the only place the effort level appears.
3 Comments
Screenshots mentioned in the issue, attached.
<img width="811" height="97" alt="Image" src="https://github.com/user-attachments/assets/5a93e678-2f86-426f-bddf-a85ee652ad95" />
<img width="372" height="163" alt="Image" src="https://github.com/user-attachments/assets/eae26d44-ba1d-47da-b03e-7c9b2eb56214" />
<img width="684" height="670" alt="Image" src="https://github.com/user-attachments/assets/9d5f5766-84b1-4f2f-a600-afdbc94eb271" />
+1
Still relevant. The VS Code chat input still shows none of the session-status indicators the desktop app puts next to its own input: model, Ultracode state, effort, usage.
The Ultracode indicator matters more than simple parity, because of #84163:
/modelcan clear Ultracode mid-session. In the desktop app you can at least see that happen. In VS Code there is nothing to see it with, so the state changes invisibly.