Show HN: Askance, a human-in-the-loop GUI for agentic coding Askance, a new human-in-the-loop GUI for agentic coding, lets developers answer questions from AI coding agents like Claude Code via a local server and CLI, with support for Markdown, Mermaid diagrams, diffs, and push notifications. The tool, distributed as a single binary for Linux, Mac, and Windows via WSL, can be installed via a Nix flake or run manually, and includes setup instructions for systemd and launchd. Askance is a simple and beautiful human-in-the-loop GUI for answering questions from an AI coding agent such as Claude Code, either in the browser or on the go with your phone. It works by combining a server which you run locally with a self-documenting command-line utility which your agent uses to put questions to you. The CLI blocks on your answer so your agent waits for you, you answer whenever you're ready. - 📊 See agent feedback in richly formatted Markdown with Mermaid diagrams. - ✅ Answer questions with a single click, and attach free text to any answer. - 📋 Decide on multi-factor tradeoffs by picking from a table. - 🔍 View diffs of uncommitted code right next to agent feedback. - 📱 Respond from your desktop or your phone. - 🔔 Get notified when an agent is waiting on you with push notifications. Add the following to your nix flake to install fully on nix. Imports the latest version as a nix flake inputs.askance = { url = "github:tobico/askance"; inputs.nixpkgs.follows = "nixpkgs"; }; The module comes from the input rather than from pkgs, so it has to be imported before it can be enabled. In your host's module list: modules = askance.nixosModules.askance { services.askance.enable = true; } ; This runs the server daemon under its own user, and adds the Askance CLI to every user's PATH . Askance is distributed as a single binary, which you download and run from your home folder. It runs on Linux, Mac, and Windows via WSL. mkdir -p ~/.local/bin && curl -fsSL -o ~/.local/bin/askance \ "https://github.com/tobico/askance/releases/latest/download/askance-$ uname -s | tr ' :upper: ' ' :lower: ' | sed s/darwin/macos/ -$ uname -m | sed -e s/x86 64/x64/ -e s/aarch64/arm64/ " \ && chmod +x ~/.local/bin/askance ~/.local/bin needs to be on your PATH , which on most systems it already is. You can run the server manually with askance serve ; by default it will listen on 127.0.0.1:8422 . Open http://127.0.0.1:8422/ http://127.0.0.1:8422/ and you'll find the pending list, which is where your agent's questions turn up. Askance server works fine when run manually, but for convenience you can add a systemd user unit to have it start automatically with your machine. ~/.config/systemd/user/askance.service : Unit Description=Askance — questions from coding agents to a human After=network.target Service ExecStart=%h/.local/bin/askance serve --listen 127.0.0.1:8422 \ --database %S/askance/askance.db StateDirectory=askance Restart=always RestartSec=5s NoNewPrivileges=true RestrictSUIDSGID=true UMask=0077 Install WantedBy=default.target Then start it: systemctl --user daemon-reload systemctl --user enable --now askance macOS doesn't have systemd; its equivalent is launchd. Create a per-user agent, running as you, in ~/Library/LaunchAgents/net.tobico.askance.plist . launchd doesn't expand ~ , so the paths are spelled out — replace you with your username: