Your agents ask. You decide.

A local inbox for the questions your coding agents need you to answer. Answer from a browser tab or a terminal pane, hours later if you need to, and the agent picks up where it left off.

$ curl -fsSL https://decyde.dev/install | sh

macOS and Linux · Python 3.10+ · no dependencies · MIT

How it works

You run five agents across three projects. One of them needs a call on pricing while you are in a meeting. Instead of the question scrolling away in a terminal you are not watching, it lands in decyde with who asked, what they are working on, the options and their recommendation.

1The agent asks and keeps working
$ decyde ask --agent codex \
  --task "Stripe webhook refactor" \
  --title "Keep webhooks in Edge?" \
  --option "Keep in Edge Functions" \
  --option "Move to Next.js route" \
  --urgency high
Asked as decyde question #12.
2You answer when you get to it
─ needs you ──────────────────
▶ ! #12 codex  Keep webhooks…
  ● #13 claude Pricing tier na…
─────────────────────────────
## options
[1]  Keep in Edge Functions
[2]  Move to Next.js route

#12 > Keep in Edge Functions▌
3The answer reaches the agent
❯ [decyde] Craig answered your
  question #12 ("Keep webhooks in
  Edge?"):

  Keep in Edge Functions

  Run `decyde ack 12`, then continue.

⏺ Keeping the webhooks in Edge
  Functions. Continuing the refactor.
██████╗ ███████╗ ██████╗██╗   ██╗██████╗ ███████╗    craig@studio                     ✓
██╔══██╗██╔════╝██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝    your agents ask. you decide.              ·   ?
██║  ██║█████╗  ██║      ╚████╔╝ ██║  ██║█████╗  
██║  ██║██╔══╝  ██║       ╚██╔╝  ██║  ██║██╔══╝      open 2  ·  blocking 1  ·  awaiting ack 0     ✗
██████╔╝███████╗╚██████╗   ██║   ██████╔╝███████╗    http://127.0.0.1:7717
╚═════╝ ╚══════╝ ╚═════╝   ╚═╝   ╚═════╝ ╚══════╝
  1:needs you 2   2:answered 9   3:history 31
──────────────────────────────────────────────────────────────────────────────────────────────────
▶ ! #12   codex         4m  Keep webhooks in Edge Functions?                                         
  ● #13   claude       11m  Pricing tier names for the launch page
──────────────────────────────────────────────────────────────────────────────────────────────────
  codex / Codex, billing lane  ·  payments-api (feat/webhooks)  ·  pane w3:p2
  ## question
  Move the Stripe webhooks to a Next.js route or keep them in Supabase Edge Functions?
  ## agent recommends
  Keep: no cold-start difference and one less migration.

   answer   answer in editor   dismiss   ▲ prev   ▼ next 

Getting the answer back

An agent that has finished its turn will not notice an answer on its own. decyde sends it as soon as you give it, even twelve hours later, through whatever the agent is running in.

Agent runs inHow the answer arrives
Herdr paneTyped in as a new prompt. A busy agent reads it at its next step; an idle one wakes up.
tmux panePasted in the same way, held back only while an approval dialog is on screen.
Claude Code, any terminalHooks. A working session gets it at its next tool call. A session that ends its turn with an open question waits for your answer, then continues.
Anything elsedecyde check 12 and decyde wait 12.

Local by default

decyde never leaves your machine. There is no account, no cloud service and no telemetry.

One SQLite fileQuestions and answers live in ~/.decyde. Agents write to it directly, so asking works even when the server is down.
Bound to localhostThe web UI listens on 127.0.0.1 only and refuses requests from other sites.
Python standard libraryNo packages to install, nothing to audit beyond the repo.
Reversible setupdecyde uninstall removes the service, the agent instructions and the hooks it added.