Repository navigation
fix(approvals): treat DeepSeek permission prompts as terminal-only alerts - #610
Merged
Merged
Conversation
…erts Supervised-hook CLIs (DeepSeek Harness) raise Approvals Inbox items whose answer route refuses keystrokes, but push notifications and the mobile/desktop UI still offered Approve/Deny. Mark those items answerInTerminal, omit approvalId (and therefore push actions) for supervised hooks, and show "Answer in the terminal" / Open session instead of broken buttons. Fixes Ark0N#598 (functional part; docs gaps left for a follow-up).
Ark0N
pushed a commit
that referenced
this pull request
Oct 13, 2026
Owner
|
Thanks @Hugo-DDT, shipped in 1.41.1. Your Prettier follow-up matched the fix I had made at merge, and I merged it as well so this PR shows as merged. Follow-ups if you want them: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the functional part of #598.
DeepSeek Harness (
hooks: 'supervised') raises Approvals Inbox items, but the answer route correctly refuses keystrokes for those dialogs. Despite that, Web Push still attached Approve/Deny actions whenever the inbox setting was on (even with noapprovalId), and the desktop drawer / mobile NEEDS YOU strip still rendered Approve/Deny — so users got buttons that always fail.Changes
answerInTerminal: true(capability-gated viahooks === 'supervised', not a mode-id branch).approvalIdfrom push for supervised-hook sessions (same capability check).approvalIdis present.answerInTerminalitems.item.answerInTerminal(same behavior as before for DeepSeek).Docs gaps from #598 are intentionally left for a follow-up.
Test plan
ships no Approve/Deny actions when the inbox is on but approvalId is absent— failed without fix (actions still shipped), passed with fixcreates an answerInTerminal inbox item and omits approvalId from push— failed without fix (answerInTerminalmissing), passed with fixnpx vitest run --config config/vitest.ci.config.ts test/push-payload-host-title.test.ts test/routes/approval-routes.test.ts test/cli-registry-no-id-branching.test.ts test/mobile-overview.test.ts test/approval-inbox.test.ts→ 134 passednpx tsc --noEmitclean for changed TS