selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
Autonomous Company logo

Self-host Autonomous Company

v3.0.0

Autonomous AI company loop for your own machine

ReleaseOpen SourceMIT
Updatedlast week
LanguagePython
Setup difficultyAdvanced
MobileResponsive
Stars
3 160
Port
8810 (Local dashboard / Product Center web UI (loopback, http://127.0.0.1:8810/center))
Requires
Bubblewrap, Claude Code CLI, Git, Libseccomp, Make, Node.js, Python
Install with Windows
Dashboard work timeline for a recorded product run (sample values for unavailable runtime fields)Dashboard work timeline for a recorded image-checklist product runDashboard work timeline for a recorded follow-up desk product run

What is Autonomous Company?

Should you self-host Autonomous Company?

Autonomous Company scores 59/100 on selfhost.directory (how scoring works) and ranks #54 of 209 in AI Agents. It has 3 160 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v3.0.0, came out on 13 October 2026. New versions land roughly every 1 days.

Setup is advanced: plan for several services and some ongoing maintenance. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Orca (91/100, 108 446 stars). It scores higher overall, so compare the two before you pick. See Autonomous Company vs Orca side by side.

Features

  • 14 expert agent role personas
  • Background daemon with auto-restart
  • Batch work creation with templates
  • Circuit breaker and rate-limit backoff
  • Continuous autonomous work loop
  • English and Chinese interface
  • Human-in-the-loop steering
  • Local Web Dashboard
  • Multi-product center with read-only import
  • Parallel project executionup to four projects at once by default
  • Pluggable agent engine adapters
  • Reusable skill library30+ skills
  • Sandboxed project execution
  • Shared file-based memory across cycles
  • Usage and cost budget governance

Autonomous Company README

How to install Autonomous Company

Install Autonomous Company with Windows

Environment variables
ENGINE, MODEL, CLAUDE_PERMISSION_MODE, LOOP_INTERVAL, CYCLE_TIMEOUT_SECONDS (written by start-win.ps1 into .auto-loop.env)
# Prerequisites:
# - Windows 10/11 + WSL2 (Ubuntu), with systemd --user available
# - Codex CLI or Claude Code installed and authenticated inside WSL
# - Python 3.10+ (python3), Git, and make available inside WSL
# - Python 3.10+ (python) on Windows for the PowerShell dashboard entry
# - Available model quota

# Clone
git clone https://github.com/MaxMiksa/Autonomous-Company.git
cd Autonomous-Company

# Start (daemon mode via PowerShell, default engine = claude)
.\scripts\windows\start-win.ps1

# Switch engine explicitly
.\scripts\windows\start-win.ps1 -Engine codex

# Status
.\scripts\windows\status-win.ps1

# Stop
.\scripts\windows\stop-win.ps1

Windows entry requires WSL: PowerShell is only the control layer.

How to configure Autonomous Company

  • AUTONOMOUS_COMPANY_BROWSER_RUNTIMENames a reviewed Playwright browser directory mounted read-only into the isolated execution.

    Names a reviewed Playwright browser directory mounted read-only into the isolated execution.

  • AUTONOMOUS_COMPANY_BWRAPPoints the preflight at an operator-installed bubblewrap executable.

    Points the preflight at an operator-installed bubblewrap executable.

  • AUTONOMOUS_COMPANY_LANGUAGESupplies the initial loop language when no saved preference exists.

    Supplies the initial loop language when no saved preference exists.

    values: en | zh-CN

  • AUTONOMOUS_COMPANY_LIBRARY_RUNTIMEReviewed directory of shared libraries needed by Chromium inside the sandbox.

    Reviewed directory of shared libraries needed by Chromium inside the sandbox.

  • CLAUDE_BINOptional override path to the Claude Code binary.

    Optional override path to the Claude Code binary.

  • CLAUDE_PERMISSION_MODEPermission mode passed to the Claude Code CLI.

    Permission mode passed to the Claude Code CLI.

    values: acceptEdits, auto, bypassPermissions, default, dontAsk, plan

  • CODEX_BINOptional override path to the Codex CLI binary.

    Optional override path to the Codex CLI binary.

  • CODEX_REASONING_EFFORTReasoning effort passed to the engine (shown with the Codex engine).

    Reasoning effort passed to the engine (shown with the Codex engine).

  • CODEX_SANDBOX_MODEOptional Codex inner sandbox policy override.

    Optional Codex inner sandbox policy override.

  • CURSOR_ADAPTER_ENABLEDExplicit opt-in switch for the Cursor engine adapter.

    Explicit opt-in switch for the Cursor engine adapter.

    values: 1

  • CURSOR_BINPath to the cursor-agent binary for the Cursor adapter.

    Path to the cursor-agent binary for the Cursor adapter.

  • CYCLE_TIMEOUT_SECONDS1800Timeout for a single cycle in seconds.

    Timeout for a single cycle in seconds.

  • ENGINEclaudeExecution engine selection for the loop.

    Execution engine selection for the loop.

    values: claude | codex | cursor | openai-compatible

  • LOOP_INTERVAL30Seconds to wait between loop cycles.

    Seconds to wait between loop cycles.

  • MAX_CONSECUTIVE_ERRORS5Circuit-breaker threshold of consecutive errors.

    Circuit-breaker threshold of consecutive errors.

  • MODELOptional model override for the loop.

    Optional model override for the loop.

  • OPENAI_COMPATIBLE_ADAPTER_ENABLEDExplicit opt-in switch for the OpenAI-compatible engine adapter.

    Explicit opt-in switch for the OpenAI-compatible engine adapter.

    values: 1

  • OPENAI_COMPATIBLE_ALLOW_INSECURE_HTTPExplicitly allows plaintext non-loopback HTTP for the OpenAI-compatible endpoint; disabled by default.

    Explicitly allows plaintext non-loopback HTTP for the OpenAI-compatible endpoint; disabled by default.

    values: 1

  • OPENAI_COMPATIBLE_ALLOW_SHELLGives the OpenAI-compatible model an arbitrary Bash tool, bypassing the file-tool path policy.

    Gives the OpenAI-compatible model an arbitrary Bash tool, bypassing the file-tool path policy.

    values: 1

  • OPENAI_COMPATIBLE_API_KEYAPI key for the OpenAI-compatible endpoint; read only from the process environment and sent as a bearer token.

    API key for the OpenAI-compatible endpoint; read only from the process environment and sent as a bearer token.

  • OPENAI_COMPATIBLE_ENDPOINTExact chat-completions endpoint used by the OpenAI-compatible adapter; no built-in value.

    Exact chat-completions endpoint used by the OpenAI-compatible adapter; no built-in value.

  • OPENAI_COMPATIBLE_MODELModel name used by the OpenAI-compatible adapter (MODEL also accepted).

    Model name used by the OpenAI-compatible adapter (MODEL also accepted).

  • OPENAI_COMPATIBLE_SAFE_COMMANDSComma-separated allowlist of exact read-only commands the OpenAI-compatible adapter may run.

    Comma-separated allowlist of exact read-only commands the OpenAI-compatible adapter may run.

  • USAGE_BUDGET_PERIODWindow over which usage budget thresholds are counted.

    Window over which usage budget thresholds are counted.

  • USAGE_HARD_LIMIT_TOKENSHard token limit that pauses the next cycle.

    Hard token limit that pauses the next cycle.

  • USAGE_HARD_LIMIT_USDHard limit in USD; the current cycle finishes, then the next cycle is blocked.

    Hard limit in USD; the current cycle finishes, then the next cycle is blocked.

  • USAGE_WARNING_TOKENSWarning threshold in tokens.

    Warning threshold in tokens.

  • USAGE_WARNING_USDWarning threshold in USD; only emits a BUDGET alert.

    Warning threshold in USD; only emits a BUDGET alert.

Autonomous Company releases & version history

FAQ

Why does `make install` fail inside WSL?

There is no usable systemd --user in that session; confirm systemd is enabled in WSL and reopen the session.

Why does Claude wait for permission and cycles appear blocked?

Claude's strict permission mode blocks the cycle; set the bypassPermissions mode and check the loop log.

Why does WSL report the `codex`/`claude` command as not found?

The CLI was installed on the Windows side only; install node and the chosen CLI inside WSL.

Why does a WSL .sh script fail with `^M` / `bad interpreter`?

The scripts have CRLF line endings; keep the LF rules in .gitattributes and turn off autocrlf.

More in AI Automation

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…