Crossroads
Three ways forward after every turn, risky ones marked. About $0.0002 a turn.
Tests
271 passingModel calls
one small-model call per finished turn, skipped on trivial turns and backed off when ignoredCommands
0Settings
0How it works
Hook events
session.startturn.startturn.completeprompt.submitprompt.suggestsession.endcommand.run /crossroadsui.render AbovePrompt
The prompt
crossroads / prompt
Build me a Claude Code mod called "crossroads": after Claude finishes a turn, offer me 3 specific next prompts I can take with one key, and clearly mark any that would do something risky. What it shows- When a turn ends with an answer, a small band above my prompt: "1 run the auth tests · add the same guard to signup.ts · push to main (pushes)". A dim loading row while they are being made.- Every item is a clickable button that puts it in my prompt as an editable draft (never sent automatically). Only clearly safe suggestions get a number key (press it in an empty prompt) or the top slot. Press 0 to dismiss.- On the desktop app, if the prompt cannot be filled, clicking copies the suggestion instead, with a clearly labelled Send button that is never the default. Cooperate with Claude Code's own suggestion- Claude Code may already predict my next prompt (the dim ghost text I accept with Tab). If it does, include its guess at no extra cost, and only generate the other two. When its guess is clearly safe it is option 1 and stays as the ghost text, so I never see two different "next" ideas; otherwise hide the ghost text and list the guess as a plain row.- If the built-in suggestion is off or does not fire (it does not on desktop), generate all three yourself. Make them specific and cheap- Build a compact digest of the turn instead of sending the transcript: my goal, my last prompt, the files Claude touched, the commands it ran with pass or fail, Claude's closing question if any, and this session's slash commands. Replace anything that looks like a secret (API keys, tokens, passwords, private keys) with a placeholder before it leaves the machine.- Send the digest to the cheapest available model at low effort, asking for strict JSON. If the answer is malformed or cut off, show nothing.- Skip trivial turns (very short replies, turns with no tool use and no question). Back off after 3 ignored lists in a row, and recover when I accept one.