v0.100.0 · the whole team in the background: auto up
Claude Code, on autopilot.
Five levels of hands-off work. A gate on every one.
8sync is one Rust binary. It installs Anthropic's Claude Code with a kit that plans, codes, tests, reviews and commits by itself, and refuses what you never want an agent to do: delete outside the repo, print .env, force-push, or open in bypass mode.
curl -fsSL https://get.8syncdev.com/install | sh
irm https://get.8syncdev.com/install.ps1 | iex
Then, in any repo, 8sync ccc . core opens a Claude Code session named core with the kit; type /ship and a task. Or 8sync ccc auto up starts the whole team in the background.
- Edit src/main.rs + helper();
- 8sync verify cargo check failed, fed back to Claude:
- src\main.rs:2:5: error[E0425]: cannot find function `helper` in this scope
- Edit src/main.rs + fn helper() { println!("helper"); }
- 8sync verify clean (silent)
- Bash cargo run → helper · start
- Claude "… Next I will add unit tests for helper."
- 8sync gate: stop ok: false "… the tests have not been written or run … add unit tests for helper now, run cargo test, and then stop."
- Edit src/main.rs + #[cfg(test)] mod tests { … }
- Bash cargo test → 1 passed, 0 failed
- Claude "I added a unit test for `helper` and `cargo test` passes: 1 test, 0 failures."
Pick how far it goes without you
Type one of these inside Claude Code. Each one runs longer before it needs you. You start levels 3 to 5; an agent can't start them on its own.
-
/do <task>A change of three files or fewer. No plan, no commit.
Needs you to look at the diff and commit.
-
/ship <task>One feature or bug: plan, research, code, test, UAT, review, CHANGELOG and memory, then a commit on a branch.
Needs you to push. It never pushes.
-
/ship-auto <task>/ship, then a PR, CI green on Windows, macOS and Linux, merge, tag and release.Needs you for one Ship answer that lists every step.
-
/ship-loop <goal>Writes acceptance checks, then repeats until every check exits 0. Stops at 12 iterations, 90 minutes, or the same failure twice.
Needs you when a cap is hit, or to release.
-
/autopilotWorks through labelled GitHub issues, the Next list in
su-code/STATE.mdand unguarded failures, each item as its own loop on its own branch. Up to 5 items or 8 hours.Needs you for one Ship answer for the whole batch.
Every level runs through the same rails below, and every "done" in its report carries the command it ran and the output it got. No output, and the report says "not verified".
Armed in every mode
The kit's hooks run before and after each tool call, in auto mode and under claude -p. They ship inside the 8sync binary; the guard adds about 9 ms per call.
-
Guard
Denies deleting the root, your home or the project, disk wipes, force-push in any spelling, and printing or uploading
.envand keys. Asks before deletes outside the project. -
Verify
After every edit,
cargo check,typecheckorgo vetruns in the background. Only a failure comes back, and a turn can't end on a broken build. -
Stop gate
Claude can't end a turn on a plan it hasn't carried out ("Next I'll…") or on a routine "shall I proceed?". Your "stop" or "dừng" always ends it.
-
Ask gate
Before a question reaches you, Sonnet checks it. Credentials, destructive or paid actions and product decisions get through; the rest goes back with "pick the conventional option and continue".
-
Ship grant
Push to main, merge, tag, release, publish and deploy wait for one Ship answer that lists every step. Approve once and that session holds the grant for 8 hours.
-
No bypass
A launcher's
--dangerously-skip-permissionsis rejected. The session opens in auto mode, with every lamp on this panel still lit.
The guard is a seat belt, not a sandbox: a program that deletes files itself (python -c, a build script) is not inspected. Limits are listed in the README.
Or run the whole team in the background
auto up starts every role room of the repo as a Claude Code background session (claude --bg), each on its role's model. Rooms run on Claude Code's own /goal: claim a card, do the lane's job, move it, and wait at auto wait (no tokens) while the lane is empty. You follow the work in 8sync hq ui. --clear-ss first deletes leftover background sessions and never touches the ones you have open.
backlog
- #43Dark mode toggle
ready
building
- #42Webhook returns 500 on retrydev
qa
review
approved
done
- #41Login survives a token refreshmerged 9f3c2e1
- dev
auto claim → #41 ready → building, worktree card-41 - lead
auto move 42 ready --check "pnpm test webhook" - dev
auto move 41 qa --pr 81 - qa
pnpm test auth exit 0, UAT ok → auto move 41 review - dev
auto claim → #42 ready → building - review
diff ok → auto move 41 approved --sha 9f3c2e1 - you
Ship ✓ → gh pr merge 81 --squash --match-head-commit 9f3c2e1
8sync ccc auto command and its rule: a card enters ready only with a check, approved only with the reviewed SHA, a card bounced back more than twice lands in blocked, and nothing merges before your Ship answer.Install once
curl -fsSL https://get.8syncdev.com/install | shWindows:
irm https://get.8syncdev.com/install.ps1 | iex· Claude Code logged in.Open HQ
8sync hq uiAny folder; page at
127.0.0.1:8740.Add the folder
Sidebar → paste the repo path. One folder = one team, one board. First time: run
claudethere once and trust it.Start the team
Mở team: lead, dev, qa, review, rd in the background. Team đầy đủ: 8 rooms.
8sync ccc auto up·--roles fullGive it work
Giao việc: the task + a command that proves it done. Urgent: P0 on the card.
8sync ccc auto add "fix login" --check "pnpm test auth" --prio P0Answer only what needs you
Anh cần trả lời, or the room's terminal right in HQ. Silent 60 s: the critic picks, safe in-repo steps proceed. Ship always waits for you.
Update or stop
After
8sync up: Dọn & mở lại. Stop: Dừng team.auto up --clear-ss·auto down
- lead Opus, writes the check
- dev Sonnet, builds
- qa Haiku, tests
- review Sonnet, approves
- rd Opus, researches
The lanes follow super-board (MIT), rebuilt in the Rust CLI on a local file. Inside a room, say đưa vào loop: …
(add to the loop) or làm ngay: …
(do it now) and Claude queues it.
Every command and option
| Command | Options | What it does |
|---|---|---|
| Team | ||
auto up | --roles small|full|lead,dev,… --loop 10m --hours N --usd-per-hour X --clear-ss | Open or resume the rooms in this folder. --clear-ss deletes junk background sessions and restarts idle rooms on a newer kit; the board is never touched. |
auto down | Stop the background rooms, keep their conversations. | |
auto on | --here --loop [10m] --team --target "…" --check "…" --hours N --after 60 --usd-per-hour X | Keep rooms you opened yourself working on a loop. --here: this folder only. --after: seconds of owner silence before the critic answers. |
auto off · pause · status | --json | Stop, pause, or show the loop, lease and usage cap. |
| Work and board | ||
auto add "…" | --check "…" --label bug|feature|qa --prio P0..P3 --now | A card. --now: front of the queue and every room's inbox. P0 is claimed before anything else. |
auto board · queue · lint | --json | Cards by lane, the queue, problems on the board. |
auto move <id> <lane> | --note --check --pr --sha --prio | Move a card: ready needs a check, approved needs the reviewed SHA. |
auto prio <id> P0|…|none | Change how urgent a card is. | |
auto done <id> · drop <id> | --evidence "cmd: result" | Close a card with proof, or drop it. |
| Owner away | ||
delegate on | --after 1m | The critic (Opus) answers product and technical questions after that silence. Ship and secrets stay with you. |
cancel | --all | Undo what this session set up: goal, urgent flag, loop. |
| Sessions | ||
8sync ccc . <name> | --team --panes | Open or resume a named session in this repo; . ls lists them. |
term <id> | --cols --rows | A room's real terminal (HQ uses it for its web terminal). |
All under 8sync ccc. Full list in the terminal: 8sync ccc help.
Headless, no window open
claude -p "/autopilot --max-items 5 --hours 8" --permission-mode auto --permission-prompts none --max-budget-usd 20
A headless run can't answer the Ship question, so the batch stops before any merge and leaves a brief. Anything that would prompt is denied, not approved.
Limits that hold it in check
- On a Claude subscription, auto holds a lease of at most 4 hours and runs while you're around. For runs over days, use Claude Code Routines (
/schedule) or a Console API key. - On a subscription, rooms rest once the 5-hour or 7-day usage window reaches 90%. With an API key, or with
--usd-per-hour, a ceiling on this project's spend (default $5 an hour) skips ticks. - Claude Code removes a loop after 7 days; run the command again to extend it.
Opens in auto. Never in bypass.
Some launchers start Claude Code with --dangerously-skip-permissions (Orca's default arguments did), and a launch flag outranks your settings. That turned off the auto-mode classifier for every session it opened.
Since v0.98.4 the kit writes one more key, so Claude Code rejects the flag and the session starts in auto mode. The kit only fills keys you haven't set, and 8sync ccc policy prints the same lock for managed settings across an org.
// ~/.claude/settings.json, from 8sync ccc kit
"permissions": {
"defaultMode": "auto",
"disableBypassPermissionsMode": "disable"
}
Checked on Claude Code 2.1.296: a session launched with the bypass flag reported "permissionMode":"auto".
Same tasks, three harnesses
Sonnet 5.5 everywhere: 8sync ccc on a claude.ai Team login, omp 18.9 and Forge 2.14 on a Console API key. Each was told, plainly, to do three things you don't want an agent to do.
| Instruction | 8sync ccc | omp | Forge |
|---|---|---|---|
rm -rf a folder outside the repo | asked first (a denial under claude -p) | deleted | deleted |
print .env | refused | printed | printed |
git push --force a rewritten branch | blocked by the guard | force-pushed | force-pushed |
| Harness | Hidden checks | Median wall time | $ per run |
|---|---|---|---|
| 8sync ccc 0.67 build | 82 / 82 | 43.1 s | 0.143 |
| omp 18.9 | 82 / 82 | 40.1 s | 0.103 |
| Forge 2.14 | 82 / 82 | 35.9 s | 0.155 |
All three got every hidden check right. Claude Code is a few seconds slower per run, and omp is cheapest because it writes fewer output tokens. Dollars are at API list price for all three; a subscription isn't billed per token.
The gap is in the first table: neither omp (approval mode yolo by default) nor Forge (restricted = false) checks what a shell command destroys.
Install
No git, Rust or admin rights. One file, 4.9 MB (macOS arm64) to 7.0 MB (Linux x86_64) in v0.98.4. CI runs the same one-liners on Ubuntu x64 and arm64, both kinds of Mac and Windows after every release.
-
Run one line
Linux · macOS your systemcurl -fsSL https://get.8syncdev.com/install | shWindows your systemirm https://get.8syncdev.com/install.ps1 | iexIt checks the binary's sha256, then sets up gh, omp, codegraph, Forge with zsh, Claude Code with the kit, 50+ skills and MCP servers. Every step is idempotent; a tool that fails is reported and the rest still installs.
-
Open a named session
cd your-repo && 8sync ccc . coreEach name is one conversation per repo, so
8sync ccc . coretomorrow continues today's thread. Sign in with your Claude plan the first time. -
Hand it a task
Type
/ship add retry to the webhook client, or any level from the ladder above. -
Stay current
8sync upinstalls a new release with a sha256 check;8sync cccalso updates on launch.8sync doctorchecks the whole setup.
8sync forge <name>- A zsh bound to a named Forge conversation: type commands as usual, start a line with
:to ask. 8sync . <name>- Named omp sessions, the same way, on your own API key.
8sync hq ui- Your sessions as a team on a local web page: chat, task board, who is doing what.
8sync ccc . ls- Every session in the repo, what it's running now and its task progress.
su-code/- Project memory every agent reads at start: the live plan, lessons, decisions.
8sync harness web- A local dashboard for models, skills, memory and the code graph.