withHuman

Official registry AI and agents

Set up human approval for your AI agents' tool calls.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http withhuman 'https://app.withhuman.ai/api/mcp/v1'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "withhuman": {
            "type": "http",
            "url": "https://app.withhuman.ai/api/mcp/v1"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. How it works
  2. Quickstart
  3. Connect your agents
  4. Explore further
  5. Agent skills
  6. Deploy
  7. Telemetry
  8. Community
  9. License

Approval layer for AI Agents

Put your most consequential agent actions behind human approvals, so your agents can do real work.

Website · Docs · Quickstart · Protocol · Discord · Contributing


We want agents to do more than read data and suggest what to do next. They should be able to roll back a deployment, issue a refund, or merge code. Those actions have consequences, and teams need a way to bring a person in before they happen.

withHuman is the approval layer for that moment. It checks an agent's tool call before it runs against rules you define in one place. Routine calls can be approved automatically, disallowed calls can be denied, and consequential ones can wait for the right person to decide. Every agent you connect follows those rules.

How it works

An adapter (a runtime hook or an SDK wrapper) sends each tool call to withHuman before it runs, over the open Agent Approval Protocol.

sequenceDiagram
    participant Agent as Your agent
    participant WH as withHuman
    participant You as You
    Agent->>WH: Wants to call issue_refund(amount: 75)
    WH->>WH: Checks your approval pipeline
    WH->>You: Asks for approval by email, Slack or Discord
    You->>WH: Approve
    WH->>Agent: Go ahead
    Agent->>Agent: Runs issue_refund
  • Approval pipelines approve, deny or ask a person, based on the tool and its arguments. For example: approve refunds up to $20, ask payments above that.
  • Escalation paths choose who is asked and when, by team, level and working hours. Reviewers get email, Slack or Discord and decide in the web app with the exact arguments in front of them.

See How withHuman works for how the pieces fit together.

Quickstart

You need Docker.

docker run -d --name withhuman -p 8080:8080 -v withhuman-data:/data quay.io/withhuman/bundle:latest
docker exec withhuman cat /data/bootstrap-secret

Open http://localhost:8080, choose First setup and enter the secret. The welcome page connects your first agent and ends with a test call for you to approve. The quickstart guide covers each step.

To run from source instead, install Go (the version in go.mod) and Node 25, then run make frontend && go run ./cmd/withhuman. The secret is in ~/.withhuman/bootstrap-secret.

Connect your agents

  • Coding agents. Claude Code, Codex, OpenClaw, Pi, Hermes and DeepSeek connect with the withhuman CLI:
    curl -fsSL https://downloads.withhuman.ai/install.sh | sh
    withhuman agent install --url https://approvals.example.com
  • Agents you build. LangGraph, Pydantic AI, the OpenAI Agents SDK, CrewAI, Mastra and other frameworks connect through the AAP SDKs. See the examples.

Explore further

Agent skills

Teach your coding agent to connect runtimes and write approval pipelines:

npx skills add https://withhuman.ai

The skills live in skills/.

Deploy

Settings are environment variables, listed in .env.example. Before you go beyond your own machine:

  1. Serve it behind HTTPS and set WITHHUMAN_PUBLIC_ORIGIN to that origin.
  2. Set WITHHUMAN_TRUSTED_PROXIES to your proxy's addresses only.
  3. Set WITHHUMAN_SECRETS_KEY and keep it safe.
  4. Configure SMTP so invitations and password resets reach people.
  5. Back up the whole data directory.
  6. Set OTEL_EXPORTER_OTLP_ENDPOINT to collect its OpenTelemetry metrics.

Don't want to run it yourself? withhuman.ai hosts it and adds the audit log, the AI judge, the MCP gateway, phone notifications and single sign-on.

Telemetry

Once a day withHuman sends a random installation ID, its version, the platform and whether it runs as a binary, a container or on Kubernetes. The answer tells administrators about new releases and security fixes on the Version settings page. Nothing about your organizations, people, agents or requests is sent. Set WITHHUMAN_TELEMETRY=off (or DO_NOT_TRACK=1) to turn it off. See Updates and telemetry.

Community

License

withHuman is licensed under the Elastic License 2.0.

Frequently asked questions

What is withHuman?

Set up human approval for your AI agents' tool calls.

How do I install withHuman?

It runs as a remote server. In Claude Code: claude mcp add --transport http withhuman 'https://app.withhuman.ai/api/mcp/v1'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does withHuman need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is withHuman open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains withHuman?

It is published by withHumanAI. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.