Apache 2.0 β€” open source

loopat

loop at context, distill into knowledge
Loop = context + AI + workdir

A self-hosted AI workspace built around context management — works solo, scales to teams. What makes loopat different is the context architecture: chat, code, memory, and knowledge interlock so context doesn't get lost across sessions or teammates.

Get Started View on GitHub

End-to-end context management
for humans and AI

When humans collaborate with AI, three things only humans can bring: drive, attention, and entropy reduction. loopat builds these in as first-class concepts — Loop, Focus, and Context — with Chat coordinating the team on the sync axis.

🧢

Reproducible Loops

Every loop runs in its own sandbox with a versioned toolchain and pinned credential vault. Same state tomorrow, different machine.

πŸ’¬

Collaborative Chat

WebSocket-powered real-time chat with Claude. Multiple browser tabs can share the same loop session simultaneously.

πŸ“‹

Kanban Boards

Built-in Kanban with drag-and-drop, real-time sync across subscribers. Manage tasks alongside your AI agent.

πŸ’»

Web Terminal

Full PTY terminal inside the sandbox. Shared across loop subscribers β€” everyone sees the same bash session.

πŸ“

File Tree & Editor

Browse and edit files inside the sandbox from the web UI. Git integration with commit and log views.

🧠

Persistent Memory

Two-tier memory system — personal (personal/memory) and team-shared (context/notes/memory). Auto-recalled across sessions so context is never lost.

One loop, one sandbox

Every loop bundles its own context, AI agent, and working directory inside a Linux mount namespace. Portable, reproducible, and secure by default.

πŸ“š

Context

Knowledge + Notes + Memory

+
πŸ€–

AI Agent

Claude CLI in bwrap

+
πŸ“‚

Workdir

Git worktree per loop

=
🧢

Sandboxed Loop

Isolated & reproducible

1

URL Routing

Hono router binds requests to loop IDs via closures

2

Map Partitioning

Per-loop session maps prevent cross-loop broadcast

3

Process Isolation

Each loop spawns independent Claude CLI subprocess

4

Mount Namespace

Kernel-enforced filesystem isolation via bubblewrap

Works solo, scales to teams

Same workspace whether you're alone or onboarding teammates. Solo, it's a personal AI workspace; with a team, shared knowledge and notes repos sync across members.

Claude CodeCursoropencodeCodexloopat
Form factorCLIIDETUIWeb (hosted)Web (self-hosted)
LicenseproprietaryproprietaryMITproprietaryApache 2.0
Team IM integrationmanual pastemanual pastemanual pastemanual pastebuilt-in
Shared team knowledgeindividual configindividual configindividual configindividual configgit-synced
Per-session sandboxprocess-levelprocess-levelprocess-levelmanagedbwrap + Docker
Credential isolationshared envshared subshared envacct-managedper-loop vault
Data locationlocal filescloudlocal filesOpenAI serversgit repos you control
Agent engineAnthropicmulti-modelpluggableOpenAIClaude Agent SDK

Filesystem-first, portable, transparent

No database. Everything is a file. rsync your workspace to another machine and pick up exactly where you left off.

01

Sandbox = Directory

Sandbox permissions arenΚΌt hidden in config files. TheyΚΌre derived from the physical structure of loops/<id>/ β€” run ls -laR to see the full access scope.

02

Machine-Independent

rsync $LOOPAT_HOME to any machine, restart the server, and everything works β€” chat history, sessions, memory, sandbox views. All paths are virtual.

03

Self-hosted, data you own

All artifacts live in plain git repos you fully control; vault secrets are git-crypt encrypted. BYO API key — nothing leaves your machine except the model API call itself.

Up and running in seconds

One command to start. Works on any Linux machine. macOS via Docker.

# 1. Install system dependencies sudo apt install bubblewrap openssh-client mise # 2. Install Bun curl -fsSL https://bun.sh/install | bash # 3. Clone & start git clone git@github.com:simpx/loopat.git cd loopat bun run dev # Open http://localhost:7787