Let agents execute. Keep people at the decision points.
Human-in-the-loop is not constant supervision. It is four deliberate gates around the decisions that change scope, permissions or shipped code — and nothing in between.
- Questions, plans, commands, diffs
- Context travels with the decision
- Nothing merges without you
- 4
- approval gates, not 400 prompts
- Never
- an automatic push or merge
- Rust
- backend enforces the policy
THE FOUR GATES
Every decision comes back to you with its context attached.
Watch the same task pause for a structured question, a plan approval, a command permission and a file-by-file diff review.
01 / 04
Answer blockers in context.
When an agent needs a decision, the task moves to Needs input. Review recommended options and send the answers together.
- Structured questions
- Recommended options are explicit
- Agent resumes after your response
Showing Payments: Answer blockers in context.
Approval works when context stays attached
An approve button is worthless if the reviewer cannot see what the agent asked, why it matters, or what will change. Useful human control preserves the task context and presents each decision at the stage where it is still cheap to change.
cadre.rocks brings agent questions, implementation plans, command requests and code diffs into one surface. Between gates the agent runs on its own. At a gate it stops, and the decision is yours — enforced by the backend, not by a frontend flag.
THE FOUR GATES
Contextual blockers
The task moves to Needs input and the question arrives with its background, the options and the recommended answer.
- Multiple questions answered in one pass
- Custom answers when none of the options fit
- The run resumes exactly where it paused
Plan review before code
Read the approach in Markdown and correct it before the agent invests an hour in the wrong change.
- Approve or reject with written feedback
- Optional decomposition into ordered subtasks
- Rejection returns the task to execution with your notes
Scoped command approvals
Approve one command, trust it for the whole board, or reject it. Secrets stay unreachable either way.
- Per-board Bash allowlist
- .env, *.pem, *.key and .ssh/* blocked by default
- Backend-enforced, so the UI is never the authority
Final diff approval
Review every changed file, mark progress, leave a comment for the agent, then merge locally when you are satisfied.
- Per-file review state and +/− counters
- Reject sends the work back with feedback
- Merge into your open branch only, on your command
HOW IT RUNS
From a defined task to an approved result.
- 01
Set the task boundary
Describe the outcome, the acceptance criteria and the repository the agent may touch.
- 02
Answer open questions
Resolve ambiguity when the agent cannot safely infer the answer, without leaving the card.
- 03
Approve the approach
Inspect the implementation plan and the commands it needs before execution continues.
- 04
Accept or reject the changes
Use the diff and the test results to make the final call, then merge locally.
Agents execute.
You keep the gates.
Questions, plans, commands and code changes return to one decision surface before the workflow can continue.
How should board-wide approvals expire?
1. Validate repository paths at the service boundary.
2. Refactor the import coordinator and add adversarial tests.
Start local. Go shared when the work does.
Begin with a private desktop board. Add online workspaces, cross-device sync, invites, and collaboration when the project becomes a team effort.
Local desktop
Boards, repositories, worktrees and agent runs stay on your machine by default. Credentials remain in your system's secure storage.
- ✓Local boards
- ✓Local agent adapters
- ✓Human approval gates
- ✓Offline by default
Online workspaces
Keep board activity in sync across computers and invite collaborators into the workspaces that need a shared view.
- ✓Cross-device sync
- ✓Workspace invites
- ✓Shared board activity
- ✓Team collaboration
Only the workspace data you choose is synced. Source repositories, worktrees and credentials remain local.
COMMON QUESTIONS
Questions, answered.
Does human-in-the-loop mean approving every command?
No. Commands on the board allowlist run freely. Gates exist for decisions with real scope, security or shipping impact — questions, plans, unlisted commands and the final diff.
Can an agent pause to ask a question?
Yes. The task moves to Needs input, the questions appear with context and recommended options, and the run continues once you send the answers.
Who merges the final code?
You do. cadre.rocks never pushes to a remote and never merges into your branch automatically — the merge is an explicit action after an approved review.
What if a merge conflicts?
The conflict is resolved inside the isolated worktree, optionally by the same agent that wrote the change, and the final merge still requires a new confirmation from you.
KEEP READING
Related guides.
CODING AGENT ORCHESTRATION
Agent orchestration
The full picture: boards, routing, parallel runs and approval gates in one operation.
Read the guideCODEX CLI WORKFLOW
Codex CLI
Structured Codex runs with scoped command approvals, live logs and diff review.
Read the guideLOCAL-FIRST CODING AGENTS
Local-first agents
Offline by default, keys in the OS keyring, and sync you opt into workspace by workspace.
Read the guide Put your agents to work.
Keep the final say.
Download cadre.rocks and move from scattered agent chats to tasks you can direct, inspect and approve.
Free local boards · No credit card · Windows, macOS & Linux