[FEATURE] - VSCode Extension: Terminal integration parity with Copilot agent mode
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
When using the Claude Code VSCode extension, commands execute in an isolated shell rather than a visible terminal. This creates two major workflow problems:
- No shell environment inheritance: Tools managed by version managers (asdf, nvm, pyenv, etc.) aren't available. Running mvn --version fails with "command not found" even though it works in my terminal. This breaks builds, tests, and other dev commands.
- No terminal visibility: I can't see commands executing live. Coming from Copilot's agent mode, I'm used to a shared terminal session where both the AI and I can see and execute commands in the same visible terminal panel.
The current architecture forces a tradeoff: either use the sidebar chat (convenient location, but blind to command execution and missing my environment) or run the CLI in a terminal (has my environment, but takes over terminal space I want for my own commands).
Proposed Solution
Integrate with VSCode's terminal system similar to how GitHub Copilot agent mode works:
- When Claude Code executes a command, it should run in a visible VSCode terminal panel
- The terminal should inherit my full shell environment (PATH, asdf shims, tool versions)
- Leverage VSCode's shell integration API for command decorations (✓/✗ indicators), working directory tracking, and command navigation
- Allow a shared session where I can also type commands in the same terminal if needed
The chat interface would remain in the sidebar, but command execution would be visible and use my configured environment.
Alternative Solutions
CLAUDE_ENV_FILE workaround: I can configure an env file to source my shell setup, but this requires manual configuration and still doesn't provide terminal visibility. Running CLI in terminal: I can run claude directly in VSCode's integrated terminal to get my environment, but this defeats the purpose of the sidebar extension and requires tmux or split panes to have both Claude and my own terminal access. Using both Copilot and Claude Code: I could use Copilot for tasks requiring terminal integration and Claude Code for other tasks, but switching between AI tools is friction I'd like to avoid.
Priority
High - Significant impact on productivity
Feature Category
Developer tools/SDK
Use Case Example
- I'm working on a Java Spring Boot service in VSCode on WSL
- I use asdf to manage Java and Maven versions (defined in .tool-versions)
- I ask Claude Code to "run the tests and fix any failures"
- Currently: Claude runs mvn test but gets "command not found" because asdf isn't initialized in its shell
- With this feature: Claude would execute mvn test in a visible terminal panel that has my asdf environment, I'd see the tests run live, see failures as they happen, and Claude would fix them
- This matches the workflow I have with Copilot agent mode and keeps the AI chat conveniently in the sidebar
Additional Context
- Environment: VSCode on WSL (Debian), zsh shell with asdf
- Copilot's implementation uses VSCode's shell integration API which provides command decorations, directory tracking, and shared terminal sessions
- This would significantly ease the transition for users coming from Copilot agent mode
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗