LoopX keeps agent state outside the chat transcript
Long agent jobs usually fail in boring ways. A session ends, the next agent cannot tell which evidence is current, or a scheduled turn spends more tokens after useful work has stopped. LoopX stores the objective, todos, decision gates, evidence, quotas, and handoffs in a local control layer. Codex, Claude Code, Cursor, DeepSeek Harness, or a custom runner still executes each bounded turn. LoopX decides whether a turn should run and records what happened afterward.
That separation is the project's best idea. The README treats registered agents as peers, with claims and leases assigning work instead of a permanent supervisor agent. A dashboard projects the same underlying state for a person. Closing its experimental desktop window does not replace or erase the state authority. For work spanning days, this is more dependable than asking a model to reconstruct the plan from an old transcript.
Goals and gates add ceremony to every continuation
The core loop is explicit: check whether quota permits a run, claim a todo, update it, refresh state, and account for a completed slice. Protected work pauses at a typed gate until a person decides. LoopX also distinguishes a safe fallback lane from the blocked work, provided that fallback was separately reviewed and cannot bypass the gate. Those rules make continuation inspectable.
They also create overhead. A developer must keep goal identity, todo boundaries, evidence freshness, and the selected host's activation path straight. The repository we measured had 3,053 files and about 859,791 source lines, which is much larger than the phrase "lightweight state kernel" suggests. If your normal job lasts 20 minutes with one developer watching, the state machinery may consume more attention than it saves.
What happened when we ran it
Our run at commit 10ae816 installed 3 npm packages in 6 seconds, leaving 27 MB on disk. npm audit found 0 known vulnerabilities across critical, high, moderate, and low severities. The repository supplied no npm build script or target, so we skipped a build rather than inventing one. It also supplied no npm test target, so no tests ran in our sandbox.
The checkout did contain a tests directory and 10 CI workflow files. That matters because the absent npm target does not mean the project has no validation; it means the Node entry point we measured did not expose it. Our fresh Debian container had 3 CPUs, 8 GB of RAM, Node 22, no secrets, and no privileged access. We did not exercise a Python package install, connect an agent host, start the dashboard, or run a multi-day goal.
The Python quick start is the path users should judge
The current README requires Python 3.11 or newer and recommends installing the published package, adding workflow skills, then running loopx doctor. From a project directory, loopx connect reuses existing state. A guided command creates a goal when state is absent. The docs tell users to keep .loopx/, .codex/goals/, and .local/ out of version control, a sensible boundary for live operator data.
Host setup differs after that shared start. Codex App uses a skill and heartbeat automation, Claude Code uses an opt-in adapter plus /loop, and custom runners call the quota and todo commands themselves. Native Windows support expects PowerShell 7. The local kernel does not grant model credentials or production access, so every host still needs its own authentication and scoped permissions. A 6-second npm step cannot validate any of those paths.
Safety boundaries are unusually direct
LoopX says dangerous permissions, public publishing, production changes, and final ownership remain human decisions. It also warns contributors against committing live goal state, private logs, credentials, and raw traces. That language is specific enough to guide an operator, especially compared with agent tools that blur execution permission and approval into one prompt. Apache-2.0 applies from v0.4.8 onward; earlier releases retain their MIT terms.
The evidence catalog is careful about attribution too. Some long runs are creator showcases, others are self-reported user cases, and a KNN example is reproducible in the repository. The README explains that a 200-hour loop lifetime is elapsed wall time rather than continuous model execution. That caveat makes the examples useful without turning them into performance claims.
Active development means contracts deserve pinning
GitHub showed a last push on August 26, 2026 and 51 combined issues and pull requests. The latest published release was v0.5.2 on August 22. Open reports on August 26 covered a scheduler-validation crash, agent-scoped state echoing another agent's next action, and guided takeover behavior. Nearby pull requests were already addressing two of those areas, evidence of fast maintenance and fast change at once.
The README calls the state and CLI contracts the stable center, while several host adapters, coordination paths, and desktop pieces have narrower support. Take that distinction literally. Pin a release, choose one host, simulate a blocked approval, restart mid-goal, and inspect the handoff before expanding. LoopX earns a trial when continuity failures are already hurting real work; it is too much system for occasional prompt sessions.

