Sandboxer — Dispatch Tasks to Tmux Sessions
name: sandboxer
by chriopter · published 2026-03-22
$ claw add gh:chriopter/chriopter-sandboxer-tmux---
name: sandboxer
version: 1.0.0
description: Dispatch coding tasks to tmux sessions via Sandboxer. Use when you need to spawn Claude Code, Gemini, OpenCode, bash, or lazygit sessions in workspace repos, monitor their progress, or send them commands.
---
# 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
# 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.
/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:
API Reference
| Endpoint | What |
|----------|------|
| `GET /api/sessions` | List all sessions (status: running/idle/done/error) |
| `GET /api/create?type=T&dir=D` | Spawn session |
| `GET /api/session-monitor?session=S` | Last 20 lines + status + duration |
| `GET /api/capture?session=S` | Full terminal output |
| `GET /api/send?session=S&text=T` | Send keystrokes |
| `GET /api/forward?session=S&task=T` | Ctrl+C then send task |
| `GET /api/kill?session=S` | Kill session |
| `GET /api/workspaces` | List workspaces (with repos) |
| `GET /api/workspace-repos?workspace=W` | List repos in workspace |
| `GET /api/repo-tree?path=P` | Repo file tree with git status |
| `GET/POST /api/workspace/W/file/PATH` | Read/write workspace files |
| `POST /api/auto-commit?workspace=W` | Commit workspace changes |
`POST /api/create` accepts JSON body with `notify_url` — gets called when session finishes.
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...