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.6.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.6-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_automata-0.1.6.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.6.tar.gz
Algorithm Hash digest
SHA256 14aa65ddcb44168a9999b0f096b62cc26b4de4abea201110eb7dc679f25f0862
MD5 1c114bfcb5368ca27c9de7374d50a286
BLAKE2b-256 3862f6c04fc248ad7c2967123180ae232e8a41b0945bae4eb94ccdfeabc81bbc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: claude_automata-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 14.5 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 97d67f6f3e86e17de06c9588112af30828e512ac603d78a50f2dcdf7fb4e2f4d
MD5 5ced48c34b2eb1b658a32dec111b8804
BLAKE2b-256 399a3dc645d96086909104733db9ddc06bfac6ec48f2b1a8127705c41b603c2e

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