Skip to main content

claude-automata — runs for days, remembers only what's verified

Your agent stops when it thinks it's done. This one stops when it's actually done.

An autonomous agent environment for Claude Code, modeled on human memory.
An advisor audits every stop; one verified gate decides what gets remembered.

▶ Watch the memory circuit run

PyPI License

English | 한국어


Claude Code ends its turn the moment it believes it's finished, and forgets everything at the next compaction. claude-automata rebuilds it around the way memory actually works:

Plugin Memory role
ploop working memory — a loop for work spanning days; every stop is audited by an independent advisor until nothing is left to surface
tx consolidation — the only gate into memory: plan, independent verify, CI, squash merge
refine re-grounding — hours-long workflows that re-verify old memory against the code

Long-term memory isn't a database. It's the repository's own git-tracked text — recall is grep. Whatever never passes the gate dies with the loop, on purpose.

Install

Needs Claude Code and uv, on POSIX (macOS / Linux / WSL). One command, from your project root:

uvx claude-automata init

Re-running is safe (idempotent). uvx claude-automata@latest init forces the newest release.

What init actually writes — this environment assumes unattended operation. Review the diff before you commit it:

  • permissions.defaultMode: "bypassPermissions" — no approval prompts. The agent runs shell commands on your machine without asking first; the trust is host-level, not repo-level.
  • model: "opus[1m]" — pinned model, 1M context
  • alwaysThinkingEnabled: true · autoCompactEnabled: true · autoMemoryEnabled: false
  • registers the clomia/claude-automata marketplace and enables its plugins
  • installs missing gh, Node.js ≥ 20, repomix into your user area — no sudo, present tools skipped, gh auth login stays yours

Run a loop

/ploop:define-mission          # write the anchor — your intent, interviewed out of you
/ploop:launch [anchor text]    # hand it to the loop in a fresh session

The loop rides the Stop hook: whenever the agent stops, an independent advisor with a clean context inspects the round and surfaces what was missed. It ends only when the advisor has nothing left to say — not when the agent feels finished.

agent   › Mission accomplished. Stopping.
hook    › Stop blocked — summoning the advisor.
advisor › Not yet. The mobile layout was never measured. Two claims cite no source.
agent   › …resuming.
        ⟲ six rounds later
advisor › I have no further advice. Ending the turn.

An illustrative exchange — the mechanics are real. The anchor survives every auto-compaction. Safe on subscription plans — safe in mechanism, not in price: the loop shares your plan's quota, and multi-day runs spend it accordingly.

Pause, resume, observe
  • Auto-Compact must be set to True. For unattended runs, set askUserQuestionTimeout — an unanswered question then never parks the loop forever.
  • /ploop:off pauses; /ploop:on resumes — a universal wake button that also revives a loop stalled by an accidental ESC, an API error, or a session limit (interrupt with ESC first if a turn is running). Nothing else stops the loop.
  • /ploop:docent in a separate session, same directory answers your questions from the loop's records without touching the loop. Questions go to the docent; interventions go straight to the loop session.

Change as transactions

/tx:open  [description]   # cut a tx-* branch off base
...work...                # tx:plan → tx:apply → tx:verify
/tx:close                 # verify, docs gate, CI, then squash-merge

A transaction is an integrity boundary — it can only close once the implementation and its recorded intent are both verified. Guard hooks keep the base branch protected in between. This is the gate everything above flows through.

Keep memory true

/refine:code [focus] · /refine:docs [focus] · /refine:integrity [focus]

Heavyweight multi-agent workflows (hours per run, 3–12h) that eliminate accumulated debt: code architecture, documentation truth, integrity boundaries. Findings settle through cross-examination into consensus; only the highest-ROI plans execute. The docs pass never modifies code — defects are reported. Empty focus targets the whole codebase; watch with /workflows.


▶ Watch the memory circuit run

Apache-2.0 · claude-automata is developed by claude-automata — every contribution in this repository was authored by a Claude Code agent running this very environment. Recursive self-improvement, in production.

Download files

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

Source Distribution

claude_automata-0.1.7.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

claude_automata-0.1.7-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file claude_automata-0.1.7.tar.gz.

File metadata

  • Download URL: claude_automata-0.1.7.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for claude_automata-0.1.7.tar.gz
Algorithm Hash digest
SHA256 434cce88293b3c3fd3acc124a3f9fc74e01e2ef673faaf6d64f5f095bea22fcc
MD5 c7440b3d7be44b05d9f6dbf6bce9d022
BLAKE2b-256 076fc84440e239f8afcc18b30558bfe6c9de73ee0a266894020595c83e97ac45

See more details on using hashes here.

File details

Details for the file claude_automata-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: claude_automata-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for claude_automata-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8d07978fed8277887d6e6b49ca11316c82c8c24f7017ce13ccb843b0332aaa2c
MD5 434c73de9e358b429c01ca181775af40
BLAKE2b-256 ee719c67d4c3a38fb933c66487959dd8623bce8b0a51bbd7ba4201c018bd3fde

See more details on using hashes here.

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