Launch and manage Claude, Codex, and opencode sessions in VS Code editor terminals. Sessions open as editor tabs, survive window reloads, and come back with their titles and activity in the Activity Bar view.
Features
- Native terminal sessions: Each agent runs in a real VS Code editor terminal, so scrollback, wheel scrolling, and text selection behave exactly as in a normal terminal.
- Sessions survive reloads: Reloading the window reconnects the live agent process. Quitting VS Code ends the agent, and the next launch resumes the same conversation in its original working directory.
- Live session view: The Activity Bar lists every active session, with a spinner while the agent works, an attention icon while it waits for your approval or input, and a title generated from the first prompt.
- Past Sessions: Resume any previous Claude, Codex, or opencode session from the history picker. The trash action hides an unwanted entry without touching provider data.
/usagedashboard: A terminal-style editor tab shows Claude and Codex token usage, limits, and credit state from local provider records, refreshed every minute.- Full session control: Rename, close, interrupt, and copy session IDs from the view. Ctrl+C interrupts the running agent. A second Ctrl+C within one second closes the session. Option+Command+C copies all selected session IDs from the view, or the active one while a managed terminal is focused.
- Read-only by design: The extension reads provider transcript stores without ever modifying them.
Requirements
- VS Code 1.85 or newer
- macOS, Linux, or Windows
- The CLI for each agent you use:
claude,codex, oropencode, reachable from the login shell - Node 22.13 or newer for opencode history (it reads the opencode SQLite store
through
node:sqlite; on older hosts history is empty and everything else keeps working)
Quick Start
- Install Agent Shells from the Marketplace.
- Click the Agent Shells icon in the Activity Bar.
- Select the Claude, Codex, or opencode symbol to start a session.
- Select
/usageto open the usage dashboard.
Commands
| Command | What it does |
|---|---|
Agent Shells: Start Claude |
Launch a Claude session in a terminal editor tab |
Agent Shells: Start Codex |
Launch a Codex session in a terminal editor tab |
Agent Shells: Start opencode |
Launch an opencode session in a terminal editor tab |
Agent Shells: Past Sessions |
Open the history picker for previous sessions |
/usage |
Open the usage dashboard |
Agent Shells: Rename Session |
Set a custom session title |
Agent Shells: Close Session |
End a session and remove its row from the view |
Agent Shells: Interrupt Active Session |
Interrupt the agent; a second Ctrl+C within one second closes the session |
Agent Shells: Copy Session ID |
Copy the selected provider session identifiers |
Settings
| Setting | Default | Description |
|---|---|---|
agentShells.semanticMetadataModel |
codex-luna |
Model that generates session titles |
agentShells.semanticMetadataFallbackModel |
opencode-deepseek-v4 |
Model used when the primary title model cannot run |
agentShells.experimentalCodexAttention |
true |
Show an attention icon while Codex waits for approval or input |
Privacy
Agent Shells runs locally. It reads Claude, Codex, and opencode transcript stores on your machine and modifies only its own extension state. Title generation sends the first prompt through your installed CLI, exactly as a normal agent session would. The extension itself makes no external calls; your agent CLIs connect to their own services under your accounts.
Change Ledger
The Change Ledger (CHANGELOG+.md) lists the intent behind each shipped
change. Add a draft entry before a behavior, contract, stored-state, or
build-path change when the intent is not clear from the diff:
- [DRAFT] [YYYY-MM-DD] Type: sentence. Type is Added, Changed, Fixed, or
Removed. Keep entries newest first. Record the intent date; Git records the
commit date.
License
MIT