claude-code icon indicating copy to clipboard operation
claude-code copied to clipboard

[BUG] Claude Code VSCode extension is 2x-4x slower in code-server (VSCode in the browser) vs local VSCode or CLI

Open bluelight773 opened this issue 1 month ago • 2 comments

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Claude Code VSCode extension is 2x-4x slower in code-server (VSCode in the browser) vs local VSCode or CLI.

For instance, on one test with Sonnet 4.5, non-thinking:

  • Claude Code VSCode extension in code-server took around 2 minutes
  • Claude Code CLI running on the same machine took around 25 seconds

Another test to simply reply with ack using Sonnet 4.5, thinking:

  • Claude Code VSCode extension in code-server took around 12 seconds
  • Claude Code VSCode extension in local VSCode took around 3 seconds

Repro instructions clarify a test where time taken is ~1m50s (VSCode extension in code-server) vs ~30s (CLI)

What Should Happen?

Claude Code VSCode extension in code-server should have reasonably similar performance to using it in local VSCode (at least not 2x-4x slower).

Error Messages/Logs


Steps to Reproduce

Provide a prompt requiring multiple steps of LLM processing to a given model in a given mode of thinking. The idea is to ensure the response will take say over 20s in the best case. In this test, I used Sonnet 4.5, non-thinking, via API, with no explicitly provided files attached. Here is the prompt submitted via Claude Code VSCode extension in code-server. Time how much time passes from submission of the prompt below until Claude Code completes its response to this prompt.

User Prompt: `check-sync remote`

You MUST process the above user prompt with the following in mind.

You MUST create a 4-item checklist corresponding to the steps below to track progress:

1. Determine the synchronization source:
   - Check if the user wants to verify the 'workspace' state or the 'repository' state.
   - Default: workspace.
   - Keywords for workspace: "here", "local", "workspace".
   - Keywords for repository: "remote", "branch", "upstream".

2. Determine the target module.
   - Use provided name or current directory.
   - Exclude protected paths.

3. Clarify if needed.

4. Final Output Generation:
   - Do NOT run any commands.
   - Simply output the following final status message, replacing the bracketed placeholders with your determined values:
     "SYNC CHECK COMPLETE: Source=[<SOURCE>], Target=[<MODULE>], Status=Ready"

Time taken (Claude Code VSCode extension in code-server): ~1m50s.

Repeat the test where Claude Code is interfaced with outside the code-server environment, but with everything else equal. In this case, I used claude CLI on same machine, same working directory, same model (Sonnet 4.5), non-thinking mode, using API.

Time taken (Claude Code CLI): ~30s

Claude Model

None

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

2.0.75

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

VS Code integrated terminal

Additional Information

No response

bluelight773 avatar Dec 23 '25 16:12 bluelight773