Skip to content

Surface pending Claude Code prompts on-device and answer them by touch #94

Description

@Chemaclass

Summary

Right now Clawdmeter is one-directional: the daemon polls usage and pushes it to the device. It would be great to close the loop so the device can also alert me when Claude Code is blocked waiting on input (a permission prompt or a multiple-choice question), let me see the prompt on the AMOLED ASAP, and tap one of the predetermined options on the touchscreen so Claude keeps working without me touching the keyboard.

Motivation

When you step away from the desk, a Claude Code session often stalls on a question/permission prompt. You don't notice until you look back at the terminal, so the agent sits idle. The device is already on my desk in my peripheral vision, which makes it the perfect place to get notified and unblock the session with a single tap.

Proposed behavior

  1. Detect a pending prompt. Daemon detects when the active Claude Code session is waiting on user input (permission request or AskUserQuestion-style multiple choice).
  2. Notify on-device. Device draws attention (animation/flash + optional sound/buzz) so I see it ASAP from across the room.
  3. Display the prompt. Show the question text and the predetermined options on screen. If options exceed screen height, the list scrolls.
  4. Answer by touch. Tap an option directly in the UI; selection is sent back over BLE HID and Claude resumes immediately. The two physical buttons can stay as a fallback (cycle + confirm).

Open questions

  • How does the daemon learn a prompt is pending? Usage headers won't carry this. Likely needs a hook into Claude Code itself (e.g. a Notification/Stop hook, or reading the session transcript) rather than the API poll. Worth confirming what's exposed before building.
  • Channel back to Claude Code. Mapping a tapped option to BLE HID keystrokes (arrow keys + enter) needs the device to know the prompt's option layout to drive the TUI selection correctly.

Out of scope (for now)

  • Free-text answers. Device input is limited to selecting predetermined options.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions