Using One Connect

Inbox, approvals and decisions

Everything that needs you lands in one inbox. Approvals answer an agent's tool request; Decisions authorize one exact action, and nothing irreversible happens without a second confirmation.

The inbox#

The Inbox button in the top bar shows how many things are waiting for you. The drawer has three sections:

  • Questions and approvals: agents waiting on an answer or a tool permission.
  • Decisions: merges, releases, connector access, settings changes, Docker actions, cost approvals and other gated actions.
  • Alerts: stalled runs, idle agents, sync problems and anything else the rules flagged, critical first.

A new item plays a short sound when UI sounds are on. The same inbox is available on a paired phone.

Questions#

An agent calls ask_human when it needs a product, cost, security or scope decision, or when something is ambiguous. Its run waits until you answer. The question shows its context and any options the agent offered; your answer goes straight back to the agent and is recorded with who answered, when, and through which channel.

Approvals#

Approvals are tool permission requests from a running agent, routed to One Connect by the harness (Claude Code's --permission-prompt-tool, and OpenCode's permission requests).

  • Edits inside the assignment's scope, and non-destructive shell commands when the agent has allow_shell, are allowed automatically.
  • Pushes, deploys, migrations, publishing and messaging always wait for you. The list is policies.require_approval: by default push_protected, deploy, prod_db_write, migration_apply, publish and send_message.
  • The shell prefixes pre-approved for every run exclude anything that deletes files or rewrites shared git refs.
  • An approval that waits longer than policies.stall.approval_pending_minutes (default 15) raises an alert.

Decisions#

A Decision authorizes one exact action. It is built for a phone: the question, the options with a recommendation, the evidence behind it, the risk and urgency, and a second confirmation for anything irreversible.

  • Bound. The Decision records a hash of the exact action: the commit SHAs for a merge, the Compose inputs for a Docker action, the full configuration for a settings change, the payload for a message. If anything changes, the Decision no longer applies.
  • Expiring and single-use. Most action Decisions expire within minutes (two for a clone or a Docker action, ten for a tunnel launch or an outbound message, fifteen for a cost approval) and work once.
  • Durable. A button never grants permission by itself; the daemon acts only on a recorded answer. Answers and their audit events commit together and survive a restart.
  • Human only. Agents, Jev and system recommendations can suggest, but they can never answer a Decision.

Each Decision has an Audit history of who prepared, answered and executed it. Merge Decisions say Local merge only. Nothing is pushed or deployed.

What creates a Decision#

ActionWhere it comes from
Merge into the integration branchReview & merge
Settings changeReview settings changes in Settings
Cost approval for a metered agentReview cost approval in the agent builder
Docker start, stop, restart, build, pull or downTerminal and containers
Clone or git initProjects
Connector inventory and each tool callConnectors
Release step, rollback or inspectionRelease cockpit
Tunnel launch and each outbound notificationPhone and alerts
A workflow decision you ownCanvas

Alerts#

Alerts come from rules watching the event log. Each is deduplicated per condition with a cooldown and redacted.

AlertRaised when
StallA run has produced no events for stall.no_event_minutes (default 10)
Approval pendingAn approval has waited stall.approval_pending_minutes (default 15)
Idle with workAn agent has been idle idle_alert_minutes (default 5) with work queued
Usage limitAn agent hit an included-usage limit; a reassignment is suggested
Missing handoffA run finished without a handoff; a skeleton is offered
Out of syncTwo tracker deliveries failed, or the tracker drifted from the log
Scope violationAn agent edited files outside its allowed paths
Model mismatchThe vendor served a different model than requested
Login expiredA subscription CLI is no longer signed in
Orphaned runA run could not be reattached after a restart
Checks and infrastructureRequired checks failed or were unavailable, or a hosting probe found a problem

Resolve an alert once you have dealt with it. Rules can be turned off individually under policies.rules.

Jev decision advice#

Jev (TypeSafe's System One model) is an optional advisor for the Decisions inbox. It is off by default, and enabling it needs your explicit cost, network and data confirmation for the exact host, plus a jev key in your Keychain.

  • Every request previews exactly what would leave your Mac: the bounded, redacted evidence and the exact request body. You confirm that body's hash before it is sent.
  • Jev returns a suggested option with a probability distribution and confidence. Its advice is shown separately from agent suggestions and human answers.
  • Advice is invalidated when the evidence changes. Jev can recommend; it can never record a human approval.

Turn it on under Settings → Agents and sign-in → API keys (pay per token) & optional services.

Edit this page on GitHub