Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Awesome Remote Control

v1.0.8

Start a Claude Code remote control session in tmux with bypass permissions. Use when asked to start a remote session, start a Claude Code session, spin up Cl...

0· 149·0 current·0 all-time
byJaden Watson@oobagi·duplicate of @oobagi/claude-remote-control

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for oobagi/awesome-remote-control.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Awesome Remote Control" (oobagi/awesome-remote-control) from ClawHub.
Skill page: https://clawhub.ai/oobagi/awesome-remote-control
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: tmux, python3, claude
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install awesome-remote-control

ClawHub CLI

Package manager switcher

npx clawhub@latest install awesome-remote-control
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description match the actual behavior: scripts create tmux sessions, run the 'claude' CLI with --remote-control and --dangerously-skip-permissions, register sessions, capture local UUIDs for resume, and manage a local registry. Required binaries (tmux, python3, claude) are appropriate for this functionality.
Instruction Scope
SKILL.md and the scripts confine actions to launching Claude in tmux, interacting with tmux panes, and reading/writing local Claude-related files (~/.claude.json, ~/.claude/projects/*.jsonl, ~/.local/share/claude-rc/sessions.json). They also instruct the agent to 'always report the session URL' to the user. The only scope creep is explicit: the skill pre-seeds workspace trust and uses a permissions-bypass flag; this is consistent with the goal of headless sessions but is a privileged action you should expect.
Install Mechanism
No download/install spec is included (instruction-only / shipped scripts). There are local scripts and a Python helper; nothing is fetched from remote URLs at runtime. This is low install risk given the code is provided with the skill bundle.
Credentials
The skill requests no secrets or unrelated environment variables. It does modify local Claude configuration files and reads project .jsonl files under ~/.claude/projects to capture UUIDs—actions that are consistent with resume functionality and registry maintenance.
Persistence & Privilege
The skill does persist state to ~/.local/share/claude-rc/sessions.json and writes to ~/.claude.json to mark a project as trusted. always:false and normal autonomous invocation apply. The configuration edits are within Claude's domain and are explained in the README, but they do elevate Claude session trust and bypass prompts (via --dangerously-skip-permissions), which is a meaningful privilege.
Assessment
This skill appears to do what it says: spawn and manage headless Claude Code sessions inside tmux and keep a local registry for resumption. Before installing: (1) understand it intentionally bypasses workspace trust (--dangerously-skip-permissions) and writes to ~/.claude.json to mark projects trusted — only install if you trust the Claude binary and the skill source; (2) treat the printed remote-control URLs and captured UUIDs as sensitive (anyone with the URL/UUID may be able to control sessions); (3) verify you installed the skill from a trusted repository (the skill bundle includes all scripts, so review them yourself if unsure); (4) if you do not want automatic workspace-trust modification, inspect/modify registry.py's trust-workspace behavior or remove that step before use. If you want extra assurance, run the scripts in a controlled account or sandbox first.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binstmux, python3, claude
latestvk979ehw9k87g27q2bajshaga5s83szmb
149downloads
0stars
6versions
Updated 1mo ago
v1.0.8
MIT-0

Claude Code Remote Control

Starts a persistent Claude Code session in tmux with --dangerously-skip-permissions --remote-control. Auto-exits after 30 minutes of inactivity via CLAUDE_CODE_EXIT_AFTER_STOP_DELAY (Claude's native idle timer). Multiple concurrent sessions supported — each gets a unique animal name.

Starting a Session

Single session:

bash skills/claude-remote-control/scripts/start_session.sh <dir>

Multiple sessions in parallel (faster):

bash skills/claude-remote-control/scripts/start_sessions.sh <dir> <count>
# e.g. start_sessions.sh /path/to/project 3

Each session gets a friendly name like 🦊 Fox | my-project — used in tmux and the registry.

Important: After launching a session, always report the session URL (https://claude.ai/code/session_...) back to the user in your reply. The URL is printed in the script output — surface it so the user can open the remote control page immediately.

Stopping a Session

bash skills/claude-remote-control/scripts/stop_session.sh <session-label|tmux-name>
# e.g. stop_session.sh "🦊 Fox | my-project"
#      stop_session.sh cc-fox-my-project

The SessionEnd hook fires automatically, handling registry update.

Listing Sessions

bash skills/claude-remote-control/scripts/list_sessions.sh

Registry stored at ~/.local/share/claude-rc/sessions.json.

Attaching to a Session

tmux attach -t cc-fox-my-project   # use tmux name shown on start

Resuming a Session by UUID

When a session dies (killed or idle timeout), the registry entry is marked dead and the local UUID is captured at that moment. UUIDs persist for 30 days before being pruned.

Look up the UUID:

cat ~/.local/share/claude-rc/sessions.json

Resume using the start script with --resume <uuid>:

bash skills/claude-remote-control/scripts/start_session.sh <dir> --resume <uuid>
# e.g. start_session.sh /path/to/project --resume abc123-def456

Or manually in a new tmux session:

tmux new-session -d -s "cc-fox-my-project" -c "/full/path/to/my-project"
tmux send-keys -t "cc-fox-my-project" 'claude -r "<uuid>" --dangerously-skip-permissions --remote-control --name "🦊 Fox | my-project"' Enter

This restores full conversation history. A new remote control URL is issued on reconnect.

How Idle Timeout Works

  1. CLAUDE_CODE_EXIT_AFTER_STOP_DELAY=1800000 (30m) is set as an env var when launching Claude in tmux.
  2. Claude's internal timer starts when it finishes responding and is idle at the prompt.
  3. After 30m idle, Claude auto-exits — triggering the SessionEnd hook.
  4. on_session_end.sh fires: marks the registry dead with UUID capture.

No background watcher process — everything is driven by Claude Code's native hooks.

Sending Tasks to Running Sessions

bash skills/claude-remote-control/scripts/send_task.sh <session-label|tmux-name> "<message>"
# e.g. send_task.sh "🦊 Fox | my-project" "Do an analysis of the codebase"
#      send_task.sh cc-fox-my-project "Fix the issues you identified"

The script:

  1. Resolves the tmux session name from a label or direct tmux name
  2. Verifies the session is alive
  3. Sends via tmux send-keys -l (literal mode — safe for special characters) + Enter

Tip: When sending follow-up tasks to a session that already has context (e.g., it just finished an analysis), do NOT re-paste the full spec or issue list. The agent already has that in its conversation. Just reference it — e.g., "fix the issues you identified". Re-sending bloats context and wastes tokens.

Notes

  • After launching, always report the session URL (https://claude.ai/code/session_...) to the user — this is the remote control link they need
  • --remote-control is undocumented but valid — activates remote control on startup
  • The session_0... URL is a cloud-side remote control ID — it cannot be used with claude -r. Only the local UUID from the registry works for resuming.
  • UUID is captured lazily when the session dies, not during startup — no background polling
  • Dead entries auto-prune after 30 days (runs at each startup)
  • The project dir formula: ~/.claude/projects/$(echo $WORKDIR | sed 's|/|-|g') (leading - is kept)
  • No background watcher — idle timeout and registry cleanup are handled entirely by Claude Code hooks
  • Workspace trust is pre-seeded in ~/.claude.json (under projects[<path>].hasTrustDialogAccepted) so headless sessions skip the "do you trust this folder?" dialog

Comments

Loading comments...