Maya
@loopable checkout 5xx since 4pm?
A shared agent for your team
Loopable is your team’s own agent. Work comes in from Slack, Lark, GitHub, or a schedule. Codex, Claude Code, or Cursor Agent does it on a machine you own, and the answer goes back where it was asked.
Maya
@loopable checkout 5xx since 4pm?
Codex
Waiting
Loopable
Cause: redis timeout on cart
npm install -g loopable-cli && loopable start
What you need →
The problem
A review request, a question in #oncall, a morning check. Someone copies it into their own Codex. If they are busy or away, it stops.
Everyone has their own prompts, skills, and config. The answer depends on who asked. Nothing is reused, and nothing is recorded.
A cloud sandbox can’t see your internal network, logs, or services. You get one vendor, and usually one chat tool.
Yours
The agent runs on a computer the team owns. A Mac in the office is enough.
Whatever that machine can reach: the internal network, logs, databases, internal services.
Hosted: an allowlist out of a cloud sandbox.
Any MCP server, CLI, or internal login you set up on it.
Hosted: the connectors the platform ships.
Codex, Claude Code, or Cursor Agent, and the model you want.
Hosted: one vendor.
Code, logs, and credentials stay in-house. It uses the CLI plan you already pay for.
Hosted: your work runs in their cloud.
What it does today
How it works
Polls Slack, Lark, and GitHub.
No public URL needed.
Pick the loop.
Each signal runs once.
Hold the job.
A runner pulls it.
Pulls the job and runs the agent there, with that machine’s network, tools, and logins.
Run it
A Mac in the office is enough. It needs Node 22+ and Codex, Claude Code, or Cursor Agent signed in.
npm install -g loopable-cli loopable start
http://127.0.0.1:4321 on that machine. Connect GitHub, a Slack bot, or a
Lark bot, and pick a loop.
loopable runner \ --url http://<LAN-IP>:4321 \ --token <from Runners>