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.11+ · no dependencies · MIT
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.
$ 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.
─ 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▌
❯ [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
decyde is off in every agent session until you turn it on, so a quick hands-on session stays the way you are used to. Turn it on when you are about to walk away.
› use decyde. Finish the invoices migration and open a PR. ⏺ decyde is on for this session. Asks will go to your inbox, not this chat. … ⏺ Migration and PR are ready. Waiting on decyde #31: Drop the old invoices table?
Say "use decyde" to any agent, or decyde on. Claude Code also takes /decyde on. Say "decyde off" to go back to asking in chat.
It sticks for the session. Every ask from then on goes to your inbox, and the agent ends its turn by naming the question it is waiting on.
There is a safety net. In Claude Code, Codex and Grok, if an agent ends its turn on something that reads like an ask without posting it, a hook sends it back once to post it.
Anything that needs you before it happens. While decyde is on, these go to your inbox instead of the end of a chat message you might never scroll back to.
Not asks: the agent's own tool-permission prompts, which keep their usual approval flow; status updates that need nothing from you; questions the agent can answer from the code. decyde is built for agents running with permissions skipped, where nothing else stops to ask you.
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 in | How the answer arrives |
|---|---|
| Herdr pane | Typed in as a new prompt. A busy agent reads it at its next step; an idle one wakes up. |
| tmux pane | Pasted in the same way, held back only while an approval dialog is on screen. |
| Claude Code, any terminal | Sent to the session's own inbox. An idle session wakes up; a busy one reads it at its next step. |
| Codex, any terminal | Started as a turn in the session that asked, through Codex's own background server, or added to the turn already running. |
| Grok, any terminal | The agent waits on the answer in the background, and is woken the moment it returns. |
| Anything else | decyde check 12 and decyde wait 12. |
Connect your own Telegram bot and questions follow you out the door. Tap an option and the answer reaches the agent the same way it would from your desk.
/newbot and pick a name. Use a new bot just for decyde; a bot another app already reads won't work.decyde telegram setup and paste the token BotFather gives you. A new bot gets decyde's photo and description.Answer how you like. Tap an option, or reply to the message with your own words. /open lists what is still waiting. When a question is answered on your Mac or withdrawn, its message updates and the buttons go away.
Your bot, your machine. decyde reaches out to Telegram and nothing reaches in, so no port opens on your computer. Question text does pass through Telegram while it is connected. decyde telegram off disconnects it.
Your questions and answers stay on your machine unless you connect a phone. There is no account, no cloud service and no telemetry. Without a phone connected, the one outbound request is a daily check of the latest version number on GitHub, which you can turn off with decyde config update_check off.
~/.decyde. Agents write to it directly, so asking works even when the server is down.decyde uninstall removes the service, the agent instructions and the hooks it added.decyde update installs it and refreshes your agents' instructions and hooks.decyde telegram setup (how). Question text then passes through Telegram.