Skip to main content

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

Docker (for sandboxed execution):

# Install Docker: https://docs.docker.com/get-docker/
docker --version  # Verify installation

Claude Code CLI (only needed for --no-sandbox mode):

pnpm add -g @anthropic-ai/claude-code
claude login

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 --continue to 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)
--verbose Stream Claude output in real-time false

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)

Use --verbose to stream Claude's output in real-time instead of showing a spinner.

How It Works

New projects

  1. Session 1 (Initializer): Creates feature_list.json with testable features
  2. Sessions 2+ (Coding Agent): Implements features one by one, marking them as passing

Adding features to existing projects

  1. Session 1 (Enhancement Initializer): Appends new features to existing feature_list.json
  2. 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

Starting new project - initializer will run first
...

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

Running Without Sandbox

Use --no-sandbox to run directly on your host system (not recommended):

autonomous-claude --no-sandbox "Build something"

This requires Claude Code CLI installed locally and uses --dangerously-skip-permissions for autonomous operation. Only use in trusted environments.

License

MIT - Based on Anthropic's claude-quickstarts

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autonomous_claude-1.0.0.tar.gz (37.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autonomous_claude-1.0.0-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file autonomous_claude-1.0.0.tar.gz.

File metadata

  • Download URL: autonomous_claude-1.0.0.tar.gz
  • Upload date:
  • Size: 37.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for autonomous_claude-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a2db7a8594d710cbc2a62491c60523eddf8546748faa6491d18cbd50284509b4
MD5 2839a20f1e96ba94a8bd3a94db3d1f09
BLAKE2b-256 5da2735e6a152347b51373450c1fd879041083e66bdad6d3ff9e6c02ffd6a169

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonomous_claude-1.0.0.tar.gz:

Publisher: release.yml on ferdousbhai/autonomous-claude

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autonomous_claude-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for autonomous_claude-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff024616ccdb3bbed819aabf6a0b60eab9cea99bff110fc0e1f71dff559febf8
MD5 7fa12e200682e81a8105ebdda7d82e45
BLAKE2b-256 0dcd0db7c4b447e63e80a2eee27068415b9e86ebced3be7ae657b10d421ab950

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonomous_claude-1.0.0-py3-none-any.whl:

Publisher: release.yml on ferdousbhai/autonomous-claude

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page