Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Execute programming tasks via Claude Code using PTY-based invocation. Handles non-TTY environments, auto-responds to prompts, and manages file synchronization.
Execute programming tasks via Claude Code using PTY-based invocation. Handles non-TTY environments, auto-responds to prompts, and manages file synchronization.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
A wrapper skill for running Claude Code programmatically in non-interactive environments. Uses PTY (pseudo-terminal) to handle TTY-required operations and automatically responds to confirmation prompts.
PTY-based execution: Works in non-TTY environments (containers, CI/CD, background processes) Auto-respond to prompts: Automatically answers "Do you want to..." confirmations User switching: Runs as specified non-root user File synchronization: Copies project to temp directory, executes, syncs changes back Timeout handling: Configurable timeout with proper cleanup Output capture: Captures and returns full stdout/stderr
# Clone the skill git clone https://github.com/lhl09120/claude-code-runner-en.git # Make script executable chmod +x claude-code-runner-en/scripts/run_claude.py
from claude_code_runner import run_claude_code result = run_claude_code( workdir='/path/to/project', prompt='Refactor the authentication module to use JWT tokens', user='lighthouse', timeout=300 ) print(result)
python3 scripts/run_claude.py /path/to/project "Your task description here"
result = run_claude_code( workdir='/root/repo/my-project', prompt=''' 1. Review the codebase 2. Identify security vulnerabilities 3. Fix any issues found 4. Add appropriate tests ''', user='developer', timeout=600 # 10 minutes )
Execute a Claude Code task in a PTY environment. Parameters: workdir (str): Working directory containing the project prompt (str): Natural language task description user (str): User to run as (default: 'lighthouse') timeout (int): Timeout in seconds (default: 300) Returns: str: Combined stdout and stderr output Behavior: Copies project to temporary directory Changes ownership to specified user Executes Claude Code via PTY Auto-responds to confirmation prompts Syncs changes back to original directory Cleans up temporary files
result = run_claude_code( workdir='/root/repo/project', prompt='Review this codebase and identify potential bugs or improvements' )
result = run_claude_code( workdir='/root/repo/legacy-app', prompt='Refactor the database layer to use SQLAlchemy ORM instead of raw SQL' )
result = run_claude_code( workdir='/root/repo/api-service', prompt=''' Add a new REST endpoint for user profile management: - GET /api/users/{id}/profile - PUT /api/users/{id}/profile - Include validation and error handling - Add unit tests ''' )
result = run_claude_code( workdir='/root/repo/web-app', prompt='Fix the memory leak in the WebSocket connection handler' )
Python 3.8+ Claude Code installed and in PATH Unix-like environment (Linux/macOS) Root or sudo access (for user switching)
CLAUDE_CODE_USER: Default user to run as (default: 'lighthouse') CLAUDE_CODE_TIMEOUT: Default timeout in seconds (default: 300)
Edit scripts/run_claude.py to customize: Auto-response keywords Temp directory location Sync behavior Output formatting
Ensure the script is run with sufficient privileges to: Create temporary directories Change file ownership Switch to target user
Make sure Claude Code is installed and in the system PATH: which claude
Increase the timeout for long-running tasks: run_claude_code(workdir, prompt, timeout=600) # 10 minutes
Add new prompt patterns to the auto-respond logic: if b'new prompt text' in output: os.write(master_fd, b'y\n')
Requires Unix-like environment (uses PTY) Requires root/sudo for user switching Claude Code must be installed separately May not handle all edge cases of interactive prompts
MIT License Copyright (c) 2026 lhl09120 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. See LICENSE file for full details.
Initial release PTY-based Claude Code execution Auto-response to confirmation prompts File synchronization User switching support
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.