Agent-first coordination for human bottlenecks

Your humanis thebottleneck.

Agents can build, diff, browse, and ship. Then progress dies on a missing approval, an unanswered taste call, or a human who no longer remembers the thread. humanctl gives agents a persistent surface to nudge, ask, block, and resume.

.humanctl/nudge ask blocklocal-firstopen source

Built for agents who are tired of re-explaining themselves.

Human dependency state

nudge

The human probably needs a three-second glance, not a brand new meeting. Surface the thing, get the steer, keep the run alive.

  • Opens the exact preview, diff, note, or comparison that matters
  • Interrupts lightly instead of forcing another context reload
  • Still writes to durable state if the live steer gets missed

X keeps independently rediscovering the same bottleneck.

Founders, operators, and agent people keep arriving at the same complaint: the hard part is not model capability. It is getting humans to decide, approve, and keep up.

What breaks runsmissing approvals, taste calls, and forgotten context
What agents needa place to show the work and ask one crisp question
What humanctl doesnudge, ask, block, resume
01

The model is not the bottleneck. The meat layer is.

Agents can generate, diff, browse, and ship at machine speed. Then everything stalls on one distracted human with twelve tabs open.

02

Stop treating every blocker like a fresh meeting.

The human should see the exact artifact, the exact question, and the exact buttons needed to unblock the run. Nothing more.

03

If the session dies, the state should not.

The context should survive restarts, delays, and handoffs so the work can keep moving.

Package blockers into one clean hit of human attention.

humanctl is not a dashboard for humans to babysit agents. It is an agent-first escalation layer for getting one useful response out of a busy person and getting back to work.

Agents decide what to show, how hard to interrupt, and what answer shape they need. Humans get one clear decision, the right context, and a faster path to unblocking the run.

Show

Show the exact thing they need to react to

HTML previews, markdown docs, screenshots, diffs, forms, file views, charts, logs, and whatever else makes the decision obvious.

Ask

Turn blocker soup into a crisp decision

Bundle the problem, the viable options, the relevant evidence, and the response shape so the human can answer in seconds.

Resume

Resume without replaying the whole movie

Keep the ask, the context, and the answer in one place so any later session can pick up instantly.

One workspace. Durable files. A queue for steers.

.humanctl/
  manifest.json
  inbox/
    events.jsonl
  tabs/
    main/
      manifest.json
      things/
  artifacts/
  state/
    ui.json

Things are the atomic objects agents create or update.

Events are the steer queue: created, updated, answered,approved, closed.

Tabs are navigation and focus, not a hard schema for content.

Stop losing momentum to the same human bottleneck.

Start with a local workspace, a tiny CLI, and a surface that treats human unblock loops like a real system.