Skip to content

v0.9.9

Choose a tag to compare

@0x5446 0x5446 released this 03 Apr 05:39
· 510 commits to main since this release

Dynamic Permission Cards

Permission request cards in Feishu now dynamically capture button text from the terminal via tmux capture-pane, so buttons always match Claude Code's actual UI — regardless of version changes or future wording updates.

Changes

  • Unified card builder: Replaced 3 separate card builders (_build_permission_card, _build_setmode_card, _build_plan_approval_card) with a single _build_dynamic_permission_card that handles all permission types
  • Terminal option capture: _capture_terminal_options() reads the terminal's numbered options and uses them as Feishu button labels
  • Plan approval support: ExitPlanMode (plan mode) now shows the correct 3 options instead of generic Allow/Deny/Always Allow
  • Correct semantics: Each button maps to the correct behavior (plan_auto_accept → acceptEdits mode, plan_manual_approve → default mode, etc.)
  • Fallback safety: If terminal capture fails, falls back to hardcoded defaults

Permission Types

Type Example Buttons Behaviors
addRules Allow / Always Allow / Deny allow / always_allow / deny
setMode Yes / Yes, and allow Claude to edit... / No allow / accept_edits / deny
plan Yes, auto-accept edits / Yes, manually approve edits / Tell Claude what to change plan_auto_accept / plan_manual_approve / deny

Upgrade

walkcode upgrade