🧪 Skills
Claude Code Control
Programmatically control Claude Code in visible macOS Terminal windows via AppleScript for command input, screenshots, session logging, and terminal management.
v1.2.0
Description
Claude Code Control
Control Claude Code programmatically through visible Terminal.app windows on macOS.
How It Works
Uses AppleScript to:
- Open Terminal.app and launch
claude codein a project directory - Type commands via System Events keystrokes
- Capture screenshots of just the Terminal window (not full screen)
- Record full sessions with timestamped logs
Requirements
- macOS
- Node.js 18+
- Claude Code installed and authenticated
- Accessibility permissions for Terminal.app + Script Editor (System Settings → Privacy & Security → Accessibility)
Usage
const cc = require('./index');
// Launch Claude Code visibly
const session = await cc.launch('/path/to/project');
// Send a command (types it + presses Enter)
const result = await cc.send(session, 'write tests for app.py', 30);
// result.screenshot → path to Terminal window screenshot
// Save session recording
await cc.saveSession(session, './recording.json');
// Close
await cc.close(session);
API
| Function | Description |
|---|---|
launch(path, opts?) |
Open Terminal + start Claude Code. Returns session ID |
send(id, command, waitSec?) |
Type command, wait, screenshot. Returns {screenshot, duration_ms} |
verifyScreen(id, desc) |
Take a verification screenshot |
approveSecurity(id) |
Handle "trust this folder" prompt |
handleLogin(id) |
Send /login command |
saveSession(id, path) |
Save session log to JSON |
close(id) / closeAll() |
Exit Claude Code gracefully |
takeScreenshot(path?) |
Capture Terminal window |
focusTerminal() |
Bring Terminal to front |
Pro Features (Coming Soon)
- 🎬 Video recording of sessions
- 🤖 Multi-agent / multi-terminal orchestration
- 📊 Session analytics
- 🔄 Session replay
- 🌐 Remote control via SSH
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!