✓ Verified 💻 Development ✓ Enhanced Data

Sandboxer Tmux

Dispatch coding tasks to tmux sessions via Sandboxer.

Rating
4.9 (30 reviews)
Downloads
643 downloads
Version
1.0.0

Overview

Dispatch coding tasks to tmux sessions via Sandboxer.

Complete Documentation

View Source →

Sandboxer — Dispatch Tasks to Tmux Sessions

Power-user skill. Sandboxer gives agents full access to tmux sessions, workspace files, and terminal output on your server. Intended for dedicated AI machines where agents run with root access. Not for shared or untrusted environments.

Sandboxer runs on localhost:8081. No auth needed from localhost.

Quick: Dispatch a Task

bash
# 1. Spawn a Claude session in a repo
curl "localhost:8081/api/create?type=claude&dir=/root/workspaces/AGENT/data/repos/PROJECT"

# 2. Send it a task
curl "localhost:8081/api/send?session=SESSION_NAME&text=Fix+the+failing+tests"

# 3. Check progress
curl "localhost:8081/api/session-monitor?session=SESSION_NAME"

# 4. Kill when done
curl "localhost:8081/api/kill?session=SESSION_NAME"

Session types: claude, bash, lazygit, gemini, opencode

Workspace Structure

Sandboxer manages /root/workspaces/ — a single git repo containing all agent workspaces.

text
/root/workspaces/                          ← git repo (Sandboxer commits this)
├── .gitignore                             ← tracks only .md, .gitignore, cronjobs/
├── <agent-name>/                          ← one folder per OpenClaw agent
│   ├── AGENTS.md                          ← agent behavior rules
│   ├── SOUL.md, USER.md, TOOLS.md         ← agent identity & config
│   ├── MEMORY.md                          ← curated long-term memory
│   ├── TODO.md                            ← workspace task list (P1/P2/P3)
│   ├── CLAUDE.md                          ← coding rules for this workspace
│   ├── memory/YYYY-MM-DD.md               ← daily memory logs
│   ├── cronjobs/                          ← cron configs (tracked by git)
│   └── data/
│       └── repos/                         ← software projects (git clones)
│           ├── <project-a>/               ← separate git repo
│           │   ├── CLAUDE.md              ← project-specific coding rules
│           │   └── ...source code...
│           └── <project-b>/

Key rules:

  • data/repos/ contains separate git repos — each project has its own .git, branches, remotes
  • The workspace .gitignore excludes data/ — repo contents stay in their own git, not the workspace commit
  • The workspace git only tracks: .md files, .gitignore, and cronjobs/
  • Always read CLAUDE.md / AGENTS.md in both workspace AND repo before dispatching work to a session

API Reference

EndpointWhat
GET /api/sessionsList all sessions (status: running/idle/done/error)
GET /api/create?type=T&dir=DSpawn session
GET /api/session-monitor?session=SLast 20 lines + status + duration
GET /api/capture?session=SFull terminal output
GET /api/send?session=S&text=TSend keystrokes
GET /api/forward?session=S&task=TCtrl+C then send task
GET /api/kill?session=SKill session
GET /api/workspacesList workspaces (with repos)
GET /api/workspace-repos?workspace=WList repos in workspace
GET /api/repo-tree?path=PRepo file tree with git status
GET/POST /api/workspace/W/file/PATHRead/write workspace files
POST /api/auto-commit?workspace=WCommit workspace changes
POST /api/create accepts JSON body with notify_url — gets called when session finishes.

Installation

Terminal bash

openclaw install sandboxer-tmux
    
Copied!

💻Code Examples

curl "localhost:8081/api/kill?session=SESSION_NAME"

curl-localhost8081apikillsessionsessionname.txt
Session types: `claude`, `bash`, `lazygit`, `gemini`, `opencode`

## Workspace Structure

Sandboxer manages `/root/workspaces/` — a single git repo containing all agent workspaces.
example.sh
# 1. Spawn a Claude session in a repo
curl "localhost:8081/api/create?type=claude&dir=/root/workspaces/AGENT/data/repos/PROJECT"

# 2. Send it a task
curl "localhost:8081/api/send?session=SESSION_NAME&text=Fix+the+failing+tests"

# 3. Check progress
curl "localhost:8081/api/session-monitor?session=SESSION_NAME"

# 4. Kill when done
curl "localhost:8081/api/kill?session=SESSION_NAME"
example.txt
/root/workspaces/                          ← git repo (Sandboxer commits this)
├── .gitignore                             ← tracks only .md, .gitignore, cronjobs/
├── <agent-name>/                          ← one folder per OpenClaw agent
│   ├── AGENTS.md                          ← agent behavior rules
│   ├── SOUL.md, USER.md, TOOLS.md         ← agent identity & config
│   ├── MEMORY.md                          ← curated long-term memory
│   ├── TODO.md                            ← workspace task list (P1/P2/P3)
│   ├── CLAUDE.md                          ← coding rules for this workspace
│   ├── memory/YYYY-MM-DD.md               ← daily memory logs
│   ├── cronjobs/                          ← cron configs (tracked by git)
│   └── data/
│       └── repos/                         ← software projects (git clones)
│           ├── <project-a>/               ← separate git repo
│           │   ├── CLAUDE.md              ← project-specific coding rules
│           │   └── ...source code...
│           └── <project-b>/

Tags

#web_and-frontend-development

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author chriopter
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install sandboxer-tmux