story-kit: start 146_bug_permission_approval_still_returns_wrong_format_needs_updatedinput_not_behavior_allow

This commit is contained in:
Dave
2026-02-24 13:50:25 +00:00
parent 44d70f5abb
commit 6612cce4ac

View File

@@ -0,0 +1,29 @@
---
name: "Permission approval still returns wrong format - needs updatedInput not behavior allow"
---
# Bug 146: Permission approval still returns wrong format - needs updatedInput not behavior allow
## Description
Bug 130 changed prompt_permission from plain text to JSON, but used the wrong format. Claude Code permission-prompt-tool expects a union type: Approve = {updatedInput: {original tool input}}, Deny = {behavior: deny, message: string}. Current code at server/src/http/mcp.rs line 1642 returns {behavior: allow} which matches neither variant. Fix: change json!({behavior: allow}) to json!({updatedInput: tool_input}) where tool_input is already captured at line 1613. Also update the test at line 3076.
## How to Reproduce
1. Start server and open web UI
2. Chat with claude-code-pty agent
3. Ask it to do something requiring permission
4. Approve the permission dialog
5. Tool fails with Zod validation error about invalid_union
## Actual Result
prompt_permission returns behavior:allow on approval. Claude Code expects updatedInput with original input to approve.
## Expected Result
On approval, prompt_permission should return updatedInput containing the original tool input object.
## Acceptance Criteria
- [ ] Bug is fixed and verified