ClaudeCodeNinja
A VSCode extension that automatically controls the terminal panel based on Claude Code's status.
While Claude Code is working autonomously, the terminal panel is closed to maximize your editor space. When user input is needed, the terminal opens and focuses automatically.
Demo
Why
You don't need to watch Claude Code while it works. Focus on your code — the terminal will come back when Claude needs you.
Behavior
| Status |
Terminal Panel |
Status Bar |
working |
Close |
🤖 Claude: Working |
waiting |
Open + Focus |
⚠️ Claude: Needs Input |
idle |
Open + Focus |
✅ Claude: Done |
| On startup |
No change |
💤 Claude: Idle |
Note: When the status is working, the entire bottom panel is closed — not just the terminal. If you have the Problems or Output panel open, it will also be closed.
Setup
Open the Command Palette (Cmd+Shift+P) and run:
ClaudeCodeNinja: Setup Hooks
This automatically adds the required hooks to ~/.claude/settings.json.
Manual setup
Add the following to your ~/.claude/settings.json:
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{ "type": "command", "command": "echo 'waiting' > ~/.claude/vscode-status" }
]
}
],
"PostToolUse": [
{
"matcher": "",
"hooks": [
{ "type": "command", "command": "echo 'working' > ~/.claude/vscode-status" }
]
}
],
"Stop": [
{
"matcher": "",
"hooks": [
{ "type": "command", "command": "echo 'idle' > ~/.claude/vscode-status" }
]
}
]
}
}
License
MIT