Build apps autonomously with Claude Code CLI
Project description
autonomous-claude
Build apps autonomously with Claude Code CLI. Uses your existing Claude subscription - no API key required.
Based on Anthropic's long-running agents guide.
Installation
# Install uv if you haven't
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install autonomous-claude
uv tool install autonomous-claude
Prerequisites
Claude Code CLI:
pnpm add -g @anthropic-ai/claude-code
claude login
Docker - required for secure sandboxed execution:
# Install Docker: https://docs.docker.com/get-docker/
docker --version # Verify installation
By default, Claude runs in a Docker container with access only to your project directory. Use
--no-sandboxto bypass this isolation (not recommended).
Usage
# cd into your project directory first
cd my-project
# Start a new project or add features
autonomous-claude [INSTRUCTIONS]
# Continue work on existing features
autonomous-claude --continue
# Update to latest version
autonomous-claude update
Start a new project
# Create and enter project directory
mkdir notes-app && cd notes-app
# Interactive - prompts for description
autonomous-claude
# With description
autonomous-claude "An Apple Notes clone - local .md storage, folders, rich text, search"
# From a spec file
autonomous-claude ./app-spec.md
Add features to an existing project
cd notes-app
# Add new features
autonomous-claude "Add dark mode and keyboard shortcuts"
Note: If your project has incomplete features, you'll be asked to confirm. Use
--continueto resume without adding new features.
Continue work
Continue implementing existing features where you left off:
cd notes-app
autonomous-claude --continue
Options
| Option | Short | Description | Default |
|---|---|---|---|
--continue |
-c |
Continue work on existing features | - |
--no-sandbox |
— | Run without Docker sandbox (not recommended) | false |
--model |
-m |
Claude model | Claude Code default |
--max-sessions |
-n |
Max sessions (Claude Code invocations) | 100 |
--timeout |
-t |
Timeout per session (seconds) | 18000 (5 hours) |
Configuration
Create ~/.config/autonomous-claude/config.toml to customize defaults:
[session]
timeout = 18000 # Seconds per session (default: 5 hours)
max_turns = 2000 # Max turns per Claude session
max_sessions = 100 # Max Claude sessions before stopping
spec_timeout = 600 # Timeout for spec generation (10 minutes)
[tools]
allowed = ["Read", "Write", "Edit", "MultiEdit", "Glob", "Grep", "Bash", "WebSearch", "WebFetch"]
[sandbox]
enabled = true # Run in Docker sandbox (default: true)
memory_limit = "8g" # Container memory limit
cpu_limit = 4.0 # Container CPU limit
[ui]
pending_display_limit = 10 # Max pending features to show
Spec Confirmation
Before building, Claude generates a detailed spec from your description. You can review and request changes:
Accept? [y] n
What needs changing? Add offline support and keyboard shortcuts
Updating spec...
Type y (or press Enter) to accept, or describe what to change.
Project Files
The tool creates these files in your project:
| File | Purpose |
|---|---|
feature_list.json |
Tracks features and their completion status |
app_spec.md |
The full application specification |
claude-progress.txt |
Session notes and progress updates |
.autonomous-claude/logs/ |
Session logs (stdout, stderr, prompts) |
How It Works
New projects
- Session 1 (Initializer): Creates
feature_list.jsonwith testable features - Sessions 2+ (Coding Agent): Implements features one by one, marking them as passing
Adding features to existing projects
- Session 1 (Enhancement Initializer): Appends new features to existing
feature_list.json - Sessions 2+ (Coding Agent): Implements the new features
Progress is persisted via feature_list.json and git commits. Press Ctrl+C to stop, then --continue to resume.
Example
$ mkdir apple-notes-clone && cd apple-notes-clone
$ autonomous-claude "An Apple Notes clone - web app with local .md file storage, folder organization, rich text editing, and full-text search"
╔═╗╦ ╦╔╦╗╔═╗╔╗╔╔═╗╔╦╗╔═╗╦ ╦╔═╗
╠═╣║ ║ ║ ║ ║║║║║ ║║║║║ ║║ ║╚═╗
╩ ╩╚═╝ ╩ ╚═╝╝╚╝╚═╝╩ ╩╚═╝╚═╝╚═╝
Claude Code CLI
Project /home/user/apple-notes-clone
Model Claude Code default
Setting up new project...
...
Security
Docker Sandbox (Default)
By default, all Claude Code executions run inside an isolated Docker container:
- Project directory: Mounted read-write at
/workspace - Claude auth (
~/.claude): Mounted read-only for authentication - Resource limits: 8GB RAM, 4 CPUs (configurable)
- Security hardening: Runs as non-root, all capabilities dropped
What is NOT accessible from the sandbox:
~/.ssh- SSH keys~/.aws- AWS credentials~/.config- Other application configs- Any directories outside your project
License
MIT - Based on Anthropic's claude-quickstarts
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 autonomous_claude-1.1.3.tar.gz.
File metadata
- Download URL: autonomous_claude-1.1.3.tar.gz
- Upload date:
- Size: 38.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26fa6acc315e488dae64f7cc1819108c8883efae65685a370a301e89c7c92096
|
|
| MD5 |
bea3f1eaf9660d66f6d89141047603a1
|
|
| BLAKE2b-256 |
6269f918fa019b0144c141818246a2455c7672d3ac50f7cf88f69cf0aaf21da9
|
Provenance
The following attestation bundles were made for autonomous_claude-1.1.3.tar.gz:
Publisher:
release.yml on ferdousbhai/autonomous-claude
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autonomous_claude-1.1.3.tar.gz -
Subject digest:
26fa6acc315e488dae64f7cc1819108c8883efae65685a370a301e89c7c92096 - Sigstore transparency entry: 768154314
- Sigstore integration time:
-
Permalink:
ferdousbhai/autonomous-claude@c37d7bea181e68eaaf1f1bee0a6ba1b074bfeee5 -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/ferdousbhai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c37d7bea181e68eaaf1f1bee0a6ba1b074bfeee5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file autonomous_claude-1.1.3-py3-none-any.whl.
File metadata
- Download URL: autonomous_claude-1.1.3-py3-none-any.whl
- Upload date:
- Size: 47.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bded4bb53fec43e0735b5317d21077f6e3671d486cc29329505963e0247215ce
|
|
| MD5 |
dd74218897c65aa322c1bd205c574661
|
|
| BLAKE2b-256 |
6f0300979b08d35d23593b1b9f15f6b6d65e92169c444afa4666f1e038e1a4a4
|
Provenance
The following attestation bundles were made for autonomous_claude-1.1.3-py3-none-any.whl:
Publisher:
release.yml on ferdousbhai/autonomous-claude
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autonomous_claude-1.1.3-py3-none-any.whl -
Subject digest:
bded4bb53fec43e0735b5317d21077f6e3671d486cc29329505963e0247215ce - Sigstore transparency entry: 768154319
- Sigstore integration time:
-
Permalink:
ferdousbhai/autonomous-claude@c37d7bea181e68eaaf1f1bee0a6ba1b074bfeee5 -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/ferdousbhai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c37d7bea181e68eaaf1f1bee0a6ba1b074bfeee5 -
Trigger Event:
push
-
Statement type: