R3 — Human-in-the-loop question triage for AI agent fleets: 2025-2026 landscape
Research date: 2026-07-18. Purpose: does anything already solve “50 agents hit the same ambiguity, one human answers once, all resume, answer persists” for an internal 2-human + 64-agent setup? Full raw notes below; distilled report returned separately (max 900 words).
1. HumanLayer — STATUS: pivoted away from its original HITL-router product; original repo deprecated
- Source: https://github.com/humanlayer/humanlayer (fetched 2026-07-18)
- Verbatim maintainer note (Dex Horthy, founder) pinned in the repo: “public issues repo for humanlayer - the code here is pretty much all deprecated - you can try the rebuild of humanlayer at https://humanlayer.com - thanks for all your support - dex”
- Repo stats at fetch time: 11.1k stars, 927 forks, 2,098 commits, 40 open
issues, 0 open PRs. Latest tagged release:
codelayer-0.20.0, dated 2025-12-23. - Repo is now effectively an issue tracker for a legacy product, not the live codebase.
- Source: https://finance.biggo.com/news/15099f5634f5ab9a (BigGo Finance,
2026, covering Dex Horthy interview)
- HumanLayer originally founded 2020 as “Metalytics”; pivoted to an AI-agent platform in late 2024.
- Horthy ran a “dark factory” experiment July–November 2025: fully automated agent pipeline (agents write/review/deploy code, zero human reads a line). Within 3 months the codebase degraded so badly a single bug took weeks to debug — direct negative evidence against the “agents self-resolve without humans” approach this whole research thread is checking alternatives to.
- Current pivot (2026): HumanLayer is now building a “collaborative AI IDE” (real-time Google-Docs/Slack-style shared editing with agents, “sync engine with durable streams” for human steering while the agent works). Horthy publicly proposed “killing the pull request” on 2026-07-14.
- Net: the original “contact_human tool-call + approval decorator + Slack/email routing” product (what people cite as “HumanLayer” in 2024-25 blog posts) is not the thing being actively built in mid-2026. It still nominally exists (approval decorators, routing to Slack/Email/Discord, escalation/timeout, “learning” auto-approval from prior decisions — per https://humanlayer.systems/index-en and https://www.everydev.ai/tools/humanlayer, both undated marketing pages, evidence weight low) but the founder’s own words say the code is deprecated and effort has moved to the IDE.
- Fit verdict: Not a fit as a standing dependency. Original product is founder-confirmed deprecated; the team’s current focus (collaborative IDE) is a different product shape (interactive pairing, not a fan-in question-triage queue). No evidence anywhere of duplicate-question merging across agent instances — HumanLayer’s model was always 1 agent-run : 1 pending approval.
2. LangChain — LangGraph interrupt() + Agent Inbox
- Source: https://www.langchain.com/blog/making-it-easier-to-build-human-in-the-loop-agents-with-interrupt
(LangChain blog) —
interrupt()pauses graph execution, persists state via LangGraph’s checkpointer, human decision (approve/edit/reject/respond) resumes it. - Source: https://docs.langchain.com/oss/python/langchain/human-in-the-loop — HITL middleware pauses on risky tool calls (file write, SQL) pending review.
- Source: https://github.com/langchain-ai/agent-inbox/blob/main/README.md and direct repo fetch 2026-07-18: “📥 An inbox UX for interacting with human-in-the-loop agents.” 1,000 stars, 12 open issues, 9 open PRs, 365 commits, TypeScript 98.5%. No specific last-commit date surfaced by the fetch (page didn’t render commit timestamps), so activity level as of July 2026 is not independently confirmed beyond “not archived, has recent open PRs.”
- Secondary source (blog, lower confidence): https://prompts.brightcoding.dev/blog/stop-building-bad-ai-agents-agent-inbox-fixes-hil describes it as something LangChain “quietly dropped” — i.e., a low-profile companion tool, not a flagship product with marketing push.
- Architecture: each
interrupt()call surfaces one pending item in the inbox; the inbox is a UI for triaging many different pending interrupts from many different graph runs/threads. That is genuinely N:1 (many threads → one inbox), which is half of the target problem. But nothing in the docs or README describes content-based deduplication — two threads independently hitting the identical ambiguous question show up as two separate inbox items, not one merged item; and there’s no described mechanism for writing the human’s answer back into a shared knowledge store consumed by future/other runs (each interrupt’s answer resumes only its own thread). - Fit verdict: Closest primitive match for the “one inbox for many agents” half of the problem, actively maintained as of 2026, but it is a many-questions-to-one-queue UI, not a many-agents-one-question-merge engine — the dedup and write-back-to-memory pieces would have to be built on top.
3. gotoHuman
- Source: https://www.gotohuman.com/ (product site, 2026) — “Supervise AI agents in one flexible platform.” Framework/model-agnostic; Agent Inbox concept where reviewers see items assigned to them or the whole team; customizable review templates (text/image/markdown/JSON); GDPR-compliant, EU-hosted, SOC 3 + ISO 27001 certified core services (self-reported, not independently verified here).
- Source: https://n8n.io/integrations/gotohuman/ and n8n community post — gotoHuman node is “verified” on n8n cloud, positioned as “the only AI-first human-in-the-loop solution available to all n8n users” (vendor claim).
- Source: LinkedIn post (2026) — named customer PayFacto (payments company, ~$10B annual transaction volume) using it for sales/marketing automation review, not engineering/agent-fleet ops.
- Could not find: GitHub repo activity (github.com/gotohuman has repos but no star/commit data surfaced), funding amount, pricing, or any mention of cross-agent question deduplication. Product model is per-item review (one AI output → one reviewer decision), same 1:1 shape as HumanLayer’s original approach.
- Fit verdict: Proprietary SaaS, alive, but built for content-review / approval-per-output workflows (marketing copy, sales actions), not for merging identical clarifying questions across a coding-agent fleet. No dedup or write-back-to-memory feature found.
4. Claude Agent SDK / Claude Code — AskUserQuestion, hooks
- Source: https://code.claude.com/docs/en/agent-sdk/overview and
https://platform.claude.com/docs/en/agent-sdk/hooks —
AskUserQuestionis a built-in tool; hook events include PreToolUse, PostToolUse, Stop, SubagentStart/Stop, Notification, PermissionRequest, UserPromptSubmit.PermissionRequesthook can be used to push external notifications (Slack/email/push) when Claude is waiting on approval. - Source: https://code.claude.com/docs/en/agents (Claude Code subagents docs)
— hard constraint, directly on point for a 64-agent fleet: “A subagent
cannot ask you a clarifying question (
AskUserQuestionis unavailable to subagents),” and “a background subagent auto-denies any tool call that would otherwise prompt for permission.” This means in the current product, only the top-level/orchestrating agent session can ever surface a question to a human at all — subagents silently auto-deny instead of escalating. - Source: https://github.com/anthropics/claude-code/issues/59908 (fetched
2026-07-18) — opened 2026-05-17, still open, labeled
area:hooks,duplicate(implying an earlier, presumably still-open, related report — likely issue #13830 found in search, “Feature Request: Add notification hook support for AskUserQuestion events”). Verbatim problem statement from the issue: “When Claude Code awaits user input via AskUserQuestion tool, no hook event fires. Users relying on hooks for async-workflow notifications (terminal bell, system notification, etc.) silently miss these ‘Claude needs your input’ moments.” Confirmed inconsistency table in the issue: Stop hook works, Notification hook works for permission prompts, but no hook fires for AskUserQuestion as of Claude Code v2.1.143 (the reporter’s version). - Fit verdict: Directly relevant negative evidence for the target
architecture. As of July 2026, Claude Code’s own subagent model has no
path for a subagent to ask a human anything — by design, it auto-denies.
And even the top-level agent’s
AskUserQuestiondoesn’t reliably notify external channels (open bug, 2 months old, unresolved). A 64-agent fleet built on Claude Code subagents cannot rely on the SDK to surface human-facing questions from worker agents at all; any HITL layer for such a fleet must be built as custom tooling (e.g., a custom MCP tool that proxies “ask human” calls out of subagents into an external queue), not assembled from AskUserQuestion + hooks out of the box.
5. CrewAI / AutoGen (now Microsoft Agent Framework)
- Source: https://agent.nexus/blog/crewai-vs-autogen (2026) — CrewAI supports task-level human input (agent pauses, requests approval/feedback) but it’s “less central to CrewAI’s design” than in AutoGen. CrewAI’s 2026 version added “HITL for Flows.”
- Source: https://learn.microsoft.com/en-us/agent-framework/migration-guide/from-autogen/ and https://devblogs.microsoft.com/agent-framework/microsoft-agent-framework-at-build-2026-announce/ — AutoGen is now in maintenance mode, community-managed, receiving no new features; Microsoft shipped Microsoft Agent Framework 1.0 on 2026-04-03, merging AutoGen + Semantic Kernel into one production SDK. MAF’s Workflows have first-class “request/response” pause-resume HITL (“human-in-the-loop approvals are first-class” per https://blog.imseankim.com/microsoft-agent-framework-1-0-semantic-kernel-autogen-dotnet-python/).
- No source found describing cross-agent question deduplication or answer-write-back-to-memory in either CrewAI or MAF docs.
- Fit verdict: AutoGen as commonly cited (UserProxyAgent) is effectively end-of-life for new work (confirmed maintenance-mode, no new features); Microsoft Agent Framework is the living successor with solid single-agent pause/resume HITL, same 1:1 shape as everything else surveyed — no fleet-scale dedup.
6. Slack/Teams approval bots
- Source: https://slack.com/blog/transformation/sales-team-automated-deal-approval-in-slack — Slack’s own “Approvals Bot” automates deal-approval workflows via private channel “deal rooms,” one-click approve/reject in a thread. This is a sales-process product, not a generic agent-tool-call approval gate.
- Source: https://moclaw.ai/blog/ai-slack-integration-2026-guide (2026) and https://www.lowcode.agency/blog/how-to-build-an-ai-slack-bot-that-triggers-and-manages-workflows — generic pattern described repeatedly across 2026 how-to content: agent calls an external API, posts a confirmation thread, human approves/rejects before commit, often with a timeout (example cited: 30 minutes). Every implementation found is per-message/per-agent-instance; none describe merging near-duplicate approval requests from concurrent agent runs into one prompt.
- Fit verdict: Well-trodden DIY pattern (agent → Slack thread → human click), zero products found that batch/dedupe across concurrent requests. Same gap as everywhere else.
7. Multi-agent coding orchestrators (adjacent tooling for a 64-agent fleet)
- Source: search summary citing https://github.com/BloopAI/vibe-kanban and coverage articles (2026) — Vibe Kanban: kanban board for running many parallel Claude Code/Codex/other coding agents. Company behind it (Bloop) shut down 2026-04-10; project continues as Apache-2.0, community maintained, but the paid cloud product and remote services were sunset — negative evidence of commercial fragility in exactly this adjacent space (managing many concurrent coding agents).
- Conductor (Mac app, isolated git-worktree-per-agent, diff viewer, PR flow) and Crystal (renamed “Nimbalyst”) are the other commonly cited tools in this category per 2026 blog roundups (Nimbalyst, Munder Difflin blog, agentsroom.dev — all secondary/low-confidence sources, not fetched directly). None of the search summaries surfaced a unified question-inbox or notification-merge feature in any of them; they solve workspace isolation and diff review, not human-question triage.
- Fit verdict: No fit found. This category solves “run N agents without them stepping on each other’s files,” not “route their questions to a human without duplication.”
8. Academic / research: merging duplicate questions, answer write-back
- Source: https://arxiv.org/pdf/2512.13154 — “MAC: A Multi-Agent Framework for Interactive User Clarification in Multi-turn Conversations” (arXiv, submitted ~Dec 2025). Fetched directly 2026-07-18. Architecture: a supervisor agent handles domain-agnostic ambiguity, expert agents handle domain-specific underspecification before API calls; explicitly limits to one clarification per turn to control latency. This is single-user, single-conversation multi-turn clarification (one user, one agent pipeline) — not the fan-in case of many independent agent instances hitting the same ambiguity simultaneously. Fetch could not confirm any deduplication-across-agents or memory-write-back mechanism in the visible sections (methods/results pages weren’t part of the fetched excerpt) — treat as inconclusive on those two specific sub-questions rather than a firm “absent.”
- General agent-memory research (source: https://thenuancedperspective.substack.com/p/designing-agentic-memory-in-2026, and a cited Dec-2025 107-page survey “Memory in the Age of AI Agents” by Hu et al., not independently fetched) discusses write-back patterns generally — e.g., “Codex… stor[es] memory in explicit manifests where every entry is version-controlled and human-reviewed” — but none of the surfaced sources tie this specifically to HITL-answer-persistence for deduplicating future agent questions.
- Fit verdict: No paper or product found that directly targets “N concurrent agents ask the same/similar question → merge to 1 → 1 human answer → all N resume → answer persists to shared memory/skill/doc.” Closest adjacent research (MAC) addresses a different problem shape (single-conversation ambiguity, not fleet-wide dedup).
Bottom line
Searched: HumanLayer (repo direct fetch), LangChain agent-inbox (repo direct fetch) + LangGraph interrupt docs, gotoHuman (product + n8n listing), Claude Code/Agent SDK docs + a live open GitHub issue (direct fetch), CrewAI/AutoGen/Microsoft Agent Framework docs, Slack approval-bot patterns, Vibe Kanban/Conductor/Crystal coding-agent orchestrators, and one arXiv paper (direct fetch) on multi-agent clarification. Every tool and paper found implements a 1 agent-instance : 1 pending question/approval shape (fan-in to a queue at best, per LangGraph Agent Inbox). None implement content-based merging of duplicate/similar questions across concurrently running agent instances, and none implement automatic write-back of the human’s answer into a shared memory/skill/doc store that other agents consult before asking. Claude Code’s subagents specifically cannot ask a human anything today (auto-deny by design) — a hard blocker for a Claude-Code-subagent-based 64-agent fleet unless a custom “ask human via external queue” MCP tool is built. This looks like a genuine, currently unfilled gap as of 2026-07-18, not a “go install X” situation.