[FEATURE] VS Code extension: add prompt suggestions (ghost-text next prompts) like the terminal
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
The terminal CLI shows greyed-out suggested next prompts after each response (accepted with Tab/Right-arrow). The VS Code extension has no equivalent — no ghost text, no suggestion chips, and no setting to enable one (the CLI-vs-extension docs table lists tab completion as CLI-only).
Request: bring prompt suggestions to the extension's chat input, with the same accept gesture and a toggle.
Related (terminal/desktop-side): #77870 (cycle through N suggestions), #76591 (inline Tab hint), #79919 (a promptSuggestionEnabled setting exists but doesn't surface in GUI contexts — suggests the plumbing may partly exist).
Environment: VS Code extension on Windows, current release.
Proposed Solution
The extension's chat input should show the same model-generated next-prompt suggestion the terminal produces, rendered as ghost text inline in the input box (or as a dismissible chip above it when the input has focus but is empty).
Interaction: Tab or Right-arrow accepts the suggestion into the input for editing; Esc or just typing dismisses it; Enter after accepting submits as normal.
There should be a setting to control it — e.g. "claude.promptSuggestions": "off" | "on" — defaulting to match the terminal behavior. If the existing promptSuggestionEnabled plumbing (see #79919) already generates suggestions server-side, this may be primarily a rendering task in the extension's webview.
Alternative Solutions
_No response_
Priority
High - Significant impact on productivity
Feature Category
Configuration and settings
Use Case Example
Example scenario:
- I run long infrastructure sessions in the VS Code extension — plan execution where each response ends at a natural decision point ("Phase C complete — restore test next?", "commit this progress?").
- In the terminal, Claude Code would offer the obvious next prompt as ghost text after each of those responses, and I'd accept it with Tab instead of typing it.
- In the extension there's nothing — I retype short follow-ups ("go ahead", "commit", "run the next phase") dozens of times per session, or switch back to the terminal just to get suggestions.
- With this feature, the multi-hour supervised-execution workflow (respond → accept suggested next step → repeat) would work end-to-end in the extension, and it would save meaningful time because these sessions involve 30–50 short confirmation-style prompts where the suggestion is almost always exactly what I was about to type.
Additional Context
_No response_
Showing cached comments. Read the full discussion on GitHub ↗
4 Comments
+1
In 2.1.278 the webview already renders
prompt_suggestionas the input placeholder and accepts it withTab– the extension just never opts in:extension.jsspawns Claude withpromptSuggestions: void 0, sopromptSuggestionEnabledandCLAUDE_CODE_ENABLE_PROMPT_SUGGESTIONhave no effect.Workaround that works today –
claudeCode.claudeProcessWrapperpointing at:One cosmetic bug once it's on: the italic suggestion is clipped on the left, because
.messageInput[data-has-suggestion=true]:empty:beforehasoverflow:hiddenand no left padding. Fix:left:10px; padding-left:4pxinstead ofleft:14px.This a great feature of the cli that is lacking in the plugin. It looks like the fix is small and low risk.
After utilizing Claude Desktop, now I'm starting to miss this in VSCode's Claude. Sometimes I'm curious what it was going to be when I have something typed in already.
One detail that may help scope this: the suggestion already exists in Claude Code itself. It just never reaches the extension's input box.
The plugin API type declarations published in this repo (
mods/types/claude-code.d.ts) describe it:prompt.suggestevent to show it as "the prompt box's dim suggestion, Tab to take" (L3384–L3395, L7306–L7310).If the extension runs Claude Code as an SDK host, that would explain why it never shows a suggestion while the terminal does. In that case the fix is probably to send the existing suggestion to the extension and draw it in the input box, not to build new suggestion logic. That would also fit #79919 (
promptSuggestionEnabledexists but doesn't surface in GUI contexts).