Claude Terminal Panel


A dedicated terminal in the secondary sidebar for running AI coding assistants
Run Claude Code, Gemini CLI, OpenAI Codex, Aider, OpenCode and any other AI CLI tool directly from your VS Code sidebar.

Features
- Dedicated Sidebar Terminal - Run any AI CLI tool directly from VS Code's secondary sidebar, always accessible while you code
- Multi-Tab Support - Run multiple terminal instances simultaneously with keyboard shortcuts for quick navigation
- Prompt Notifications - Visual indicator (pulsing red dot) when the terminal is waiting for your input
- Custom Commands - Create new terminals with custom commands, intelligent flag suggestions from
--help
- Working Directory Selection - Choose which workspace folder to use when creating new terminals
- Tab Accent Colors - Color-coded tabs per workspace folder for easy identification in multi-root workspaces
- Works with Any AI Tool - Claude Code, Gemini CLI, OpenAI Codex, Aider, and more
- VS Code Theme Integration - Full 256-color support with automatic theme synchronization
- Dual Execution Modes - Choose between direct mode (cleaner output) or shell mode (full shell features)
- Auto-run on Startup - Optionally start your AI assistant automatically when VS Code opens
- Fully Configurable - Customize the command, arguments, shell, and environment variables
- Quick Actions - Restart the terminal with a single click
Requirements
- VS Code 1.106.0 or higher
- An AI CLI tool installed and accessible in your PATH (see Supported Tools)
- Node.js - Required for native module compilation
This extension works with any command-line AI assistant. Here are some popular options with installation instructions and additional top CLI AI coding agents, including OpenCode:
| Tool |
Command |
Installation |
| Claude Code |
claude |
npm install -g @anthropic-ai/claude-code |
| Gemini CLI |
gemini |
npm install -g @google/gemini-cli |
| Aider |
aider |
pip install aider-chat |
| Codex CLI |
codex |
npm install -g @openai/codex |
| GitHub Copilot CLI |
gh copilot |
gh extension install github/gh-copilot |
| Open Interpreter |
interpreter |
pip install open-interpreter |
| OpenCode |
opencode |
brew install opencode-ai/tap/opencode |
| Any CLI tool |
Custom |
Configure via settings |
Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions (
Cmd+Shift+X / Ctrl+Shift+X)
- Search for "Claude Terminal Panel"
- Click Install
From VSIX File
- Download the
.vsix file from the Releases page
- Open VS Code
- Run
Extensions: Install from VSIX... from the Command Palette (Cmd+Shift+P / Ctrl+Shift+P)
- Select the downloaded
.vsix file
Build from Source
# Clone the repository
git clone https://github.com/nolikzero/claude-terminal-panel.git
cd claude-terminal-panel
# Install dependencies
npm install
# Build the extension
npm run compile
# Package the extension
npm run package
Usage
- Open the Sidebar - Click the Claude icon in the activity bar (secondary sidebar)
- Interact with your AI - Type your prompts and interact with your AI assistant directly in the terminal
- Use Quick Actions - Click the restart icon in the view title bar, or use the + button to add new tabs
Commands
| Command |
Description |
Claude Terminal: Restart |
Restart the terminal session |
Claude Terminal: New Tab |
Create a new terminal tab |
Claude Terminal: Close Tab |
Close the current terminal tab |
Claude Terminal: Next Tab |
Switch to the next tab |
Claude Terminal: Previous Tab |
Switch to the previous tab |
Access commands via the Command Palette (Cmd+Shift+P / Ctrl+Shift+P) or the view title bar icons.
Keyboard Shortcuts
| Action |
Windows/Linux |
macOS |
| New Tab |
Ctrl+Shift+`` | Cmd+Shift+`` |
|
| Close Tab |
Ctrl+W |
Cmd+W |
| Next Tab |
Ctrl+PageDown |
Cmd+Alt+Right |
| Previous Tab |
Ctrl+PageUp |
Cmd+Alt+Left |
Configuration
Configure the extension via VS Code Settings (Cmd+, / Ctrl+,):
| Setting |
Type |
Default |
Description |
claudeTerminal.command |
string |
"claude" |
The command to run in the terminal |
claudeTerminal.args |
array |
[] |
Arguments to pass to the command |
claudeTerminal.autoRun |
boolean |
true |
Automatically run the command when the terminal opens |
claudeTerminal.shell |
string |
"" |
Custom shell to use (empty for system default) |
claudeTerminal.env |
object |
{} |
Additional environment variables |
claudeTerminal.directMode |
boolean |
true |
Run command directly without shell wrapper |
claudeTerminal.promptNotification |
boolean |
true |
Show notification indicator when terminal awaits input |
claudeTerminal.promptNotificationDelay |
number |
300 |
Delay (ms) before showing notification after output stops |
claudeTerminal.promptPatterns |
array |
[] |
Additional regex patterns to detect input prompts |
Configuration Examples
Claude Code (default):
{
"claudeTerminal.command": "claude",
"claudeTerminal.args": []
}
Gemini CLI:
{
"claudeTerminal.command": "gemini",
"claudeTerminal.args": []
}
Aider:
{
"claudeTerminal.command": "aider",
"claudeTerminal.args": ["--model", "gpt-4"]
}
OpenAI Codex:
{
"claudeTerminal.command": "codex",
"claudeTerminal.args": []
}
GitHub Copilot CLI:
{
"claudeTerminal.command": "gh",
"claudeTerminal.args": ["copilot"]
}
Running with shell features:
{
"claudeTerminal.directMode": false,
"claudeTerminal.shell": "/bin/zsh"
}
Adding environment variables:
{
"claudeTerminal.env": {
"ANTHROPIC_API_KEY": "your-api-key",
"OPENAI_API_KEY": "your-openai-key"
}
}
Prompt Notifications
The extension can detect when the terminal is waiting for user input and show a visual notification (pulsing red dot) on the tab. This helps you notice when your AI assistant needs attention, even when you're working in another part of VS Code.
Built-in Detection Patterns
The extension automatically detects common prompt patterns:
- Yes/No prompts:
[Y/n], (y/n), [yes/no]
- Confirmation prompts:
Confirm?, Continue?, Accept?, Proceed?, Apply?
- Interactive menus:
❯, ›, numbered selections
- REPL prompts:
>, >>>, command>
- Claude Code hints: Plan file prompts, "Would you like to" questions
- General prompts: "Press enter to confirm", "Esc to cancel"
Custom Prompt Patterns
If your AI tool uses custom prompts not detected by default, you can add your own regex patterns:
{
"claudeTerminal.promptPatterns": ["^mybot> $", "\\[waiting\\]", "^Input: $"]
}
Disabling Notifications
To disable prompt notifications entirely:
{
"claudeTerminal.promptNotification": false
}
Custom Commands
Click the CLI icon button (next to the + button) in the tab bar to create a terminal with a custom command instead of the default.
When creating a custom terminal, you'll be prompted to enter:
- Command: The CLI tool to run (e.g.,
aider, gemini, opencode)
- Arguments: Additional flags and options
Intelligent Flag Suggestions
As you type, the extension fetches available flags from the command's --help output and suggests them. This works with most CLI tools including:
- Claude Code
- Gemini CLI
- Aider
- OpenCode
- And any tool that supports
--help
Working Directory Selection
In multi-root workspaces, you'll be prompted to select which folder the terminal should start in. Each folder gets a unique accent color on its tab for easy identification.
Development
Prerequisites
Setup
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch for changes
npm run watch
Running in Debug Mode
- Open this project in VS Code
- Press
F5 to launch the Extension Development Host
- The extension will be active in the new VS Code window
Available Scripts
| Script |
Description |
npm run compile |
Compile the extension |
npm run watch |
Watch mode for development |
npm run lint |
Run ESLint |
npm run lint:fix |
Fix ESLint issues |
npm run format |
Format code with Prettier |
npm run package |
Create VSIX package |
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature)
- Commit your changes (
git commit -m 'Add some amazing feature')
- Push to the branch (
git push origin feature/amazing-feature)
- Open a Pull Request
For bugs and feature requests, please open an issue.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- xterm.js - The terminal emulator powering the UI
- node-pty - Native pseudoterminal support
Made with care for the AI-assisted development community