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

Resolved 💬 7 comments Opened Dec 23, 2025 by bluelight773 Closed Mar 6, 2026

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.

```md
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".
  1. Determine the target module.
  • Use provided name or current directory.
  • Exclude protected paths.
  1. Clarify if needed.
  1. 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_

View original on GitHub ↗

This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗