Fire-and-forget task execution system for Claude Code SDK with CLI and MCP interfaces
Project description
**your AI squad on crack. tasks go brrr in parallel, smart waits for dependent tasks, workflows auto-pilot. ship code at ludicrous speed while optimizing model costs.**
you wanna sleep, but wanna use your Opus limit? yeah, just queue up more tasks before your Opus limit resets at 3AM ๐
claude-cto ๐ฟ your ai coding agents' cto that gets shit done 10x faster
โstop babysitting your ai. let claude-cto run the show โ itโll plan like a pro and gangbang tasks in parallel so youโre done in minutes, not hours.โ
claude-cto is your ai dream team on steroids. stop doing that one-task-at-a-time boomer shit โ now youโve got a whole squad of ai devs (opus for the heavy stuff, sonnet for mid-tier, haiku for the easy wins) cracking code simultaneously while you sip your coffee.
how it slaps:
- youโre the big-picture boss
- claude-cto handles the boring pm work
- subtle notifications keep you in the loop without killing your vibe
๐ฅ why claude-cto claps traditional workflows
weโve hacked the claude code sdk with that spicy --dangerously-skip-permissions flag to make your ai go brrrrr:
- cooks up a bulletproof game plan
- delegates like a machine
- handles task dependencies so smooth youโll think itโs cheating
graph TB
subgraph "๐ old school ai (slow af)"
direction LR
A1[task 1<br/>5 min]:::traditional --> A2[task 2<br/>5 min]:::traditional
A2 --> A3[task 3<br/>5 min]:::traditional
A3 --> A4[task 4<br/>5 min]:::traditional
A4 --> A5[task 5<br/>5 min]:::traditional
A5 --> A6[task 6<br/>5 min]:::traditional
A6 --> A7[task 7<br/>5 min]:::traditional
A7 --> A8[task 8<br/>5 min]:::traditional
A8 --> A9[task 9<br/>5 min]:::traditional
A9 --> A10[task 10<br/>5 min]:::traditional
TotalA[โฑ๏ธ total time: 50 mins]:::timeSlow
end
subgraph "๐ claude-cto (goes hard)"
direction TB
Start[๐ฏ launch all]:::start
Start --> B1[task 1]:::parallel
Start --> B2[task 2]:::parallel
Start --> B3[task 3]:::parallel
Start --> B4[task 4]:::parallel
Start --> B5[task 5]:::parallel
Start --> B6[task 6]:::parallel
Start --> B7[task 7]:::parallel
Start --> B8[task 8]:::parallel
Start --> B9[task 9]:::parallel
Start --> B10[task 10]:::parallel
B1 --> Complete[โ
all done]:::complete
B2 --> Complete
B3 --> Complete
B4 --> Complete
B5 --> Complete
B6 --> Complete
B7 --> Complete
B8 --> Complete
B9 --> Complete
B10 --> Complete
TotalB[โฑ๏ธ total time: ~5 mins]:::timeFast
end
classDef traditional fill:#ff6b6b,stroke:#c92a2a,stroke-width:2px,color:#fff
classDef parallel fill:#51cf66,stroke:#2f9e44,stroke-width:2px,color:#fff
classDef start fill:#339af0,stroke:#1864ab,stroke-width:3px,color:#fff
classDef complete fill:#ffd43b,stroke:#fab005,stroke-width:3px,color:#000
classDef timeSlow fill:#ff8787,stroke:#fa5252,stroke-width:2px,color:#fff
classDef timeFast fill:#69db7c,stroke:#40c057,stroke-width:2px,color:#fff
๐ง let your ai be the cto - the real power move
this is where shit gets wild. instead of micromanaging like some middle manager, you let claude wear the cto hat. drop a high-level goal and watch it use claude-cto's toolkit to plan, delegate, and execute like a boss.
the mcp tool belt ๐งฐ
once installed, claude gets these shiny new toys to whip your ai team into shape:
| tool | what it does |
|---|---|
create_task |
๐ delegate like a pro: assigns jobs to ai workers with optional dependencies |
submit_orchestration |
๐ the big red button: launches entire task groups in one go |
get_task_status |
๐ spy mode: checks up on a single worker's progress |
list_tasks |
๐ mission control: shows what the whole squad's cooking |
check_api_health |
โค๏ธ pulse check: makes sure the engine's purring |
real talk: modernizing some crusty old app
watch how claude handles a gnarly project like a seasoned tech lead.
you drop the mic:
"yo, our e-comm platform's looking like myspace. needs full security audit, perf analysis, then refactor auth/payments based on findings. oh and update tests after."
claude's game plan (internal monologue):
"got it. this ain't linear - we're doing this in waves:
- phase 1 (recon): security audit + perf analysis go brrr simultaneously
- phase 2 (surgery): auth & payments refactors run parallel but only after phase 1 clears
- phase 3 (qa): tests update last - needs both refactors done
tagging all this under
ecommerce_modernizationcrew."
claude starts delegating (create_task calls):
phase 1: recon (parallel ops)
# Claude's Tool Call:
create_task(
task_identifier="security_audit",
orchestration_group="ecommerce_modernization",
execution_prompt="Perform a deep security audit on the entire codebase. Identify all potential vulnerabilities like XSS, SQLi, and insecure dependencies. Generate a detailed report in `reports/security_audit.md`.",
model="opus"
)
# Claude's Tool Call:
create_task(
task_identifier="performance_analysis",
orchestration_group="ecommerce_modernization",
execution_prompt="Analyze the application for performance bottlenecks, focusing on database queries and API response times. Create a report in `reports/performance_analysis.md` with optimization suggestions.",
model="opus"
)
phase 2: refactor wave (needs phase 1)
# Claude's Tool Call:
create_task(
task_identifier="refactor_auth",
orchestration_group="ecommerce_modernization",
execution_prompt="Based on the findings in the reports, refactor the entire authentication module (`/src/auth`) to address all identified security and performance issues.",
depends_on=["security_audit", "performance_analysis"]
)
# Claude's Tool Call:
create_task(
task_identifier="refactor_payments",
orchestration_group="ecommerce_modernization",
execution_prompt="Based on the findings in the reports, refactor the payment processing module (`/src/payments`) for improved security and performance.",
depends_on=["security_audit", "performance_analysis"]
)
phase 3: final exam
# Claude's Tool Call:
create_task(
task_identifier="update_tests",
orchestration_group="ecommerce_modernization",
execution_prompt="Update the integration test suite in `/tests` to validate all the changes made during the auth and payment refactors. Ensure 100% of new code is covered.",
depends_on=["refactor_auth", "refactor_payments"]
)
claude hits go (submit_orchestration):
"plan's locked. firing up the
ecommerce_modernizationsquad now."
submit_orchestration(orchestration_group="ecommerce_modernization")
boom: claude just cto'd your project into existence while you were grabbing coffee. claude-cto handles all the boring sync shit behind the scenes.
here's the dependency flow:
graph TD
subgraph "phase 1: recon (parallel)"
A[๐ต๏ธโโ๏ธ security_audit]:::phase1
B[๐ performance_analysis]:::phase1
end
subgraph "phase 2: refactor (parallel)"
C[๐งโ๐ป refactor_auth]:::phase2
D[๐ณ refactor_payments]:::phase2
end
subgraph "phase 3: qa"
E[๐งช update_tests]:::phase3
end
A --> C
B --> C
A --> D
B --> D
C --> E
D --> E
classDef phase1 fill:#845EC2,stroke:#4B4453,color:#fff
classDef phase2 fill:#2C73D2,stroke:#0081CF,color:#fff
classDef phase3 fill:#008F7A,stroke:#0089BA,color:#fff
---
## ๐ป your mission control: the cli dashboard
while your ai cto's running the show, the cli is your ops center - monitor progress, debug issues, or drop manual tasks like a boss.
<p align="center">
<img src="https://i.imgur.com/your-cli-in-action.gif" alt="claude cto cli go brrr">
</p>
### real-time ops: how you'd run this circus
say your ai just launched that "ecommerce_modernization" plan. here's how you stay in the loop.
**step 1: get the big picture ๐บ๏ธ**
first, scope out what plans are cooking:
```bash
$ claude-cto list-orchestrations
id status tasks completed failed created
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1 running 5 2 0 2025-08-21T10:30:00
"cool, plan #1's live with 2/5 tasks already crushed."
step 2: watch the magic happen ๐ฟ
peek behind the curtain with live updates:
$ claude-cto orchestration-status 1 --watch
now your terminal's a live feed showing tasks flipping from waiting โ running โ completed.
step 3: stalk a specific worker ๐
payments refactor taking too long? let's investigate:
$ claude-cto list
id status last action logs
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1 completed wrote security report task_1_...
2 completed wrote perf report task_2_...
3 running editing auth/session.js task_3_...
4 running analyzing stripe_api.py task_4_...
5 waiting - task_5_...
now tail the payments worker (id 4):
# get the tl;dr
$ tail -f ~/.claude-cto/tasks/task_4_*_summary.log
# or go full detective mode
$ less ~/.claude-cto/tasks/task_4_*_detailed.log
step 4: drop ad-hoc tasks ๐น๏ธ
forgot something? no sweat - add tasks on the fly:
# fire-and-forget
$ claude-cto run "slap a 'modernization in progress' banner in readme.md"
# watch it live
$ claude-cto run "whip up a db seed script" --watch
step 5: launch pre-cooked workflows
got a json blueprint? be the cto:
# deploy a full ci/cd pipeline
$ claude-cto orchestrate cicd-pipeline.json --wait
pro tip: mix these commands like a devops bartender. your ai team's always on call. ๐ธ
---
## ๐ฆ get cooking in 60 seconds
### 1. prep work
- **python** (v3.10+) & **node.js** (v16+) - the dynamic duo
- **claude code sdk**: `npm install -g @anthropic-ai/claude-code`
- **auth**: just `claude auth login` - no api key circus
### 2. installation options
#### โจ smithery express lane (recommended)
one command to rule them all for claude desktop/vscode users:
```bash
npx -y @smithery/cli install @yigitkonur/claude-cto --client claude-desktop
๐ pip flavors (choose your fighter)
pick your poison:
| option | command | what you get |
|---|---|---|
| ๐ full monty | pip install "claude-cto[full]" |
cli + rest api + mcp - the whole enchilada |
| ๐ง mcp only | pip install "claude-cto[mcp]" |
just the claude desktop/vscode sauce |
| ๐ฅ๏ธ cli/server | pip install "claude-cto[server]" |
terminal power without the mcp stuff |
3. claude config (pip users only)
if you went the pip route, wire up claude:
claude mcp add claude-cto -s user -- python -m claude_cto.mcp.factory
pro tip: fully restart claude desktop/vscode after this.
๐ ๏ธ rest api: your integration playground
the real magic happens through a slick local rest api - hook it into anything from ci/cd to custom tooling.
example: python script to launch and monitor an etl pipeline:
import httpx, time, json
SERVER = "http://localhost:8000"
# 1. define the whole shebang
etl_blueprint = {
"tasks": [
{"id": "grab_sales", "prompt": "yoink sales data from postgres"},
{"id": "snag_inventory", "prompt": "pull inventory from mongodb"},
{
"id": "transform",
"prompt": "cleanup & merge datasets",
"needs": ["grab_sales", "snag_inventory"],
"delay": 2.0 # chill for 2 secs
},
{"id": "dump_to_warehouse", "prompt": "shove clean data into snowflake", "needs": ["transform"]},
]
}
# 2. fire it off
print("๐ launching etl pipeline...")
r = httpx.post(f"{SERVER}/api/v1/orchestrations", json=etl_blueprint)
orch_id = r.json()["orchestration_id"]
print(f"โ
pipeline #{orch_id} live!")
# 3. watch like a hawk
while True:
status = httpx.get(f"{SERVER}/api/v1/orchestrations/{orch_id}").json()
print(f"status: {status['status']} | progress: {status['completed_tasks']}/{status['total_tasks']}")
if status['status'] in ["done", "failed", "cancelled"]:
print("\n๐ all done! final report:")
print(json.dumps(status, indent=2))
break
time.sleep(5) # don't spam the api
this api's your golden ticket - automate all the things without touching the cli. ๐ค
---
## โจ feature breakdown: the tech sauce
| feature | what it does | why you care |
| :--- | :--- | :--- |
| **๐ parallel execution** | runs multiple ai agents simultaneously | 10x speed boost - 10 tasks finish in 5 mins, not 50 |
| **๐ dependency magic** | handles task dependencies automatically | complex workflows just work without manual babysitting |
| **๐ auto-retries** | smart retries with exponential backoff | no more restarting failed tasks because of flaky wifi |
| **๐ง model picker** | assign opus/sonnet/haiku per task | save $$$ using heavy models only where needed |
| **๐ full logs** | summary + detailed logs for every task | debug like a pro with complete context |
| **๐ resource guard** | monitors cpu/memory/disk | prevents your machine from melting down |
| **๐พ crash-proof** | persists everything to disk | power outage? just pick up where you left off |
| **๐ก๏ธ circuit breaker** | stops retrying broken components | saves you from infinite failure loops |
## ๐ข deployment options
### docker (set it & forget it)
drop this in `docker-compose.yml`:
```yaml
version: '3.8'
services:
claude-cto:
image: ghcr.io/yigitkonur/claude-cto:latest
ports:
- "8000:8000"
environment:
- ANTHROPIC_API_KEY=${API_KEY}
volumes:
- ./claude_data:/root/.claude-cto # keeps your data safe
restart: unless-stopped
fire it up: docker-compose up -d
systemd (for linux servers)
- create
/etc/systemd/system/claude-cto.service - paste config (ask your friendly neighborhood sysadmin)
- run:
sudo systemctl enable --now claude-cto
๐ง config & fixes
env vars cheat sheet
| variable | purpose | default |
|---|---|---|
ANTHROPIC_API_KEY |
your claude api key | none (uses oauth) |
CLAUDE_CTO_SERVER_URL |
where the cli connects | http://localhost:8000 |
CLAUDE_CTO_DB |
task database location | ~/.claude-cto/tasks.db |
CLAUDE_CTO_ENABLE_SOUNDS |
ping when tasks complete | true |
CLAUDE_CTO_MODE |
standalone or proxy |
auto |
common issues quickfix
| problem | solution |
|---|---|
| tasks stuck | run claude --version to check auth |
| database locked | pkill -f claude-cto && rm ~/.claude-cto/tasks.db-journal |
| port 8000 taken | lsof -i :8000 or let it auto-find ports |
| permission denied | sudo chown -R $(whoami) ~/.claude-cto |
๐๏ธ design philosophy
- ๐ก๏ธ bulletproof - your work never gets lost, period
- ๐ฏ laser focus - each component does one thing perfectly
- ๐งฉ future-proof - built for easy expansion without breaking shit
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_cto-0.5.1.tar.gz.
File metadata
- Download URL: claude_cto-0.5.1.tar.gz
- Upload date:
- Size: 73.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b70368d3a8c282335818bd926a17ff4523df5d693028a6de6f760ccd96ba134
|
|
| MD5 |
c87d8aac910edab733791a69ace060bc
|
|
| BLAKE2b-256 |
2b90eb71624860525e74306add7cda0f2f72969a0eaa201b301a752a78f1f500
|
File details
Details for the file claude_cto-0.5.1-py3-none-any.whl.
File metadata
- Download URL: claude_cto-0.5.1-py3-none-any.whl
- Upload date:
- Size: 83.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d3046d6aba755d658110095716510562efbf34e426756de99e7a79ca2f43e5b
|
|
| MD5 |
09bcc8a3431ed16a67e8a878bd5fbf56
|
|
| BLAKE2b-256 |
5b40c67548fe84f53f0a094575d22175b1e066f3a4fa7c9284cc1227e230db9a
|