TUI permission prompt for MCP tools doesn't show the call arguments
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 73/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- cli
Research direction
Start in packages/tui/src/util/permission.ts, where the issue says the fallback branch omits metadata.input. Trace how the permission prompt renders that branch and use the MCP call arguments already passed in the metadata. Reproduce with a remote MCP write tool set to ask; done means the prompt shows the arguments so the user can review the proposed action before approving.
Written by the indexing model from the issue text.
Description
Description
When an MCP tool asks for permission, the TUI prompt shows only the tool name:
△ Permission required
⚙ Call tool linear_save_comment
Tool: linear_save_comment
The arguments (which issue, what the comment says) are not shown anywhere, so approving a write means approving it blind. The tool line in the transcript above the prompt leaves out object arguments too.
Since #51062 the MCP wrapper passes the call arguments as metadata.input, so the data reaches the prompt. The fallback branch in packages/tui/src/util/permission.ts just doesn't render it. #51519 is the same problem in the web/desktop dock, and #50234 the general version of it.
Plugins
None needed to reproduce
OpenCode version
1.19.4, and still on dev (085d6f7)
Steps to reproduce
- Add a remote MCP server with a write tool and set its permission to ask.
- Ask the agent to call the write tool.
- The prompt shows
Call tool <name>andTool: <name>, but no arguments.
Screenshot
See the prompt above.
Operating System
macOS 26
- Dominant language
- TypeScript
- Stars
- 221k
- Forks
- 29.6k
- Avg merge
- 7h 19m
- Merged PRs (30d)
- 504
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from anomalyco/opencode
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
anomalyco/opencode#60584 · 2 comments ·
Maintainers usually reply within 1 day
-
core: OpenRouter BYOK sessions record cost = 0 since v2.2.0 (ignores cost_details.upstream_inference_cost)Possibly taken @tneemo claimed this 1 day ago. Openreproduced
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
anomalyco/opencode#60558 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
anomalyco/opencode#60541 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
anomalyco/opencode#60529 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
anomalyco/opencode#60469 · 2 comments ·
Maintainers usually reply within 1 day
All issues in anomalyco/opencode
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Northeastern-Electric-Racing/FinishLine#4660 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
excaliburjs/Excalibur#3895 ·
Maintainers usually reply within 3 days
-
infer_audio_type only recognises one MPEG Layer III frame header, so most MP3 files are rejectedPossibly taken @Steve-20-ai claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Earn report crashes with "RangeError: Invalid time value" when a report row has an unparsable timestampPossibly taken @Gurkaran18 claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
joinmarket-webui/jam#1588 ·
Maintainers usually reply within 3 days
-
BeOS .json missingOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
mihaip/infinite-mac#475 ·