Free beta · built for developers running Claude Code & Codex agents

Run more agents,
babysit less.

Pileless is the decision inbox for AI agents. When Claude Code, Codex, or your own agent hits something it shouldn't decide alone, like a deploy, a spend, or a publish, it drops the call into one queue. You decide once, and Pileless sends the answer back so the work keeps moving.

Free beta · quick MCP setup · no card · your agent, your model key.

Free up to 100 decisions a month · Pro from $29/mo · your content stays in your storage, never ours.

Process a sample pile. Four calls your agents might send. Clear them the way you would for real.

your agents, blocked → 4 waiting on youtap a call to clear it ↓
DE DevOps Agent ● Blocking
Ship the Pileless MCP server v0.3 to npm?
@pileless/mcp-server@0.3.0 adds the rank and fill-in decision types. CI green, rollback verified. Agent suggestion: approve, backward-compatible.
✕ Reject↩ Request changes✓ Approve
↩ what returns to your agent
{
  "status": "resolved",
  "decision": "approved",
  "comment": "Ship it, backward-compatible."
}

The bottleneck isn't the agent. It's the handoff.

Agents can work for hours. One approval, one judgment call, or one missing answer stops the whole run. And today those asks scatter across terminals, Slack threads, and tabs you already closed.

The ask arrives too late

The agent stops at 2:14am. You see it at 9. The job was "running" all night, but no work actually moved.

The ask lands anywhere

A Slack ping, a closed terminal, or a log nobody checks. Blocking questions don't belong scattered across six tools.

You copy decisions by hand

You approve somewhere, paste the answer somewhere else, and hope the agent resumes.

More agents, more places to check

One agent is manageable. Five agents means five places to check for blocked work.

The calls only a human should make.

Every blocking question lands in one prioritized queue. You decide. Pileless returns the structured data, and the agent resumes.

📥

Capture blocked decisions

Agents submit approvals and options into one prioritized queue.

Clear the queue fast

Approve, reject, request changes, pick one, rank options, or edit in place. Keyboard-first when you want speed, visual when context matters.

🔁

Decisions return as structured data

Every answer sends a webhook back to the agent: the decision, your notes, the chosen option, the reviewer, and an audit trail. No copy-paste.

How one decision flows

You answer once, and the workflow keeps moving.

1 · Agent hits a boundary

It reaches something it shouldn't do alone: deploy, spend, publish, delete, merge, reply, or choose.

2 · Agent sends the decision

It sends the question, context, options, and a callback URL into a pile.

3 · You answer once

Approve, reject, request changes, pick one, edit in place, or add a note. One pass.

4 · The workflow resumes

Pileless returns a structured payload to your callback. The agent continues.

Open a sample pile →

Use Pileless when an agent needs to:

Approve a deploy
Authorize a spend
Pick the best generated asset
Review customer-facing copy
Confirm a risky migration
Choose between research summaries
Approve a refund
Request changes before publishing

Built for running more agents than you can watch.

Solo builders

Let long-running Claude Code or Codex agents pause for permission and resume when you decide.

Agent builders

Add a human-approval layer without building queues, auth, a review UI, webhooks, and audit logs yourself.

Not another agent. Not another task board.

Pileless does exactly one job, and stays out of everything else.

It doesn't replace your agent. Your agent still does the work.
It doesn't run your workflow. No models, no orchestration on your content.
It doesn't become your project tracker. The goal is an empty queue, not a board to tend.

Pileless gets the decision made and sends it back. That's it.

Your agents run the work. Pileless routes the decisions.

Pileless runs no AI. Your agent creates the pile, waits, and resumes. We never use your content for training or mining.

🧠

Plug in any agent

Wire up over MCP or the API. Your agent calls pile.create and waits for your call. Any model, on your key.

🔒

Your storage, always

Your file objects live in your own Cloudflare R2 bucket on every plan, never on Pileless infrastructure. We hold only the decision routing: the question, your answer, and the audit trail.

🛡️

Secrets stay hidden

Detected API keys and credentials are redacted server-side before a reviewer or agent ever sees them. Default access is least privilege. Every access is audited.

Read the full security & confidentiality brief →

Connect your agent

Setup is one step: connect over MCP. Your first guided pile then arrives from your own agent, so you learn the views and edits by clearing it.

Claude Code

Add the MCP server to your config.

Setup guide →

Codex

Same MCP server, wired into ~/.codex/config.toml.

Setup guide →

API & webhooks

Drive it directly: create piles, receive each decision on your own callback URL.

Get started →

from pileless import Pileless

p = Pileless()  # PILELESS_API_KEY from env
pile = p.create_approval(
    name="Approve deploy?",
    content="Ship v0.3 to npm. CI green, rollback verified.",
    reviewer_prompt="Backward-compatible. Ship it?",
)
resolution = pile.wait_for_resolution()  # agent blocks until you decide

Let your agents run.

You make the call. They do the rest.

Set up Pileless →