Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

web: mobile permission card overflows and the approval buttons become unreachable

Closed Beginner friendly
#57,664 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
66/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript
Domain
frontend

Research direction

Find the web UI permission request card and inspect how it lays out long command text and the Allow once, Allow always, and Reject buttons at a 375×667 viewport. Reproduce with a multi-line command, then verify the command area can scroll while all approval buttons remain reachable.

Written by the indexing model from the issue text.

Description

pending close triaging

Summary

On a phone-sized viewport the web UI's permission request card grows with the command it shows. A long or multi-line command pushes the Allow once / Allow always / Reject buttons past the bottom of the screen, and the card does not scroll, so the request cannot be answered from the client.

Environment

  • opencode version: 2.1.1
  • OS: Windows_NT 10.0.26300 (win32 x64)
  • Terminal: Unavailable: terminal environment variables are not set
  • Shell: C:\WINDOWS\system32\cmd.exe
  • Install/channel: latest (npm global @opencode/[email protected])
  • Active plugins: free_models_drift_check.js (local plugin in ~/.config/opencode/plugins)

Reproduction

  1. Run the v2 server and open the web UI in a phone-sized viewport (iPhone SE, 375x667 CSS pixels), or in a desktop browser in device mode.

  2. Add a permission rule that asks, in opencode.jsonc:

    { "permissions": [{ "action": "shell", "resource": "*", "effect": "ask" }] }
    
  3. Make the agent run a command that spans several lines, for example a PowerShell pipeline or a multi-line python -c.

  4. The permission card shows the whole command, the card ends up taller than the viewport, and the buttons are below the fold with no way to scroll to them.

Expected Behavior

The command text should be clamped (for example a maximum height) and scrollable, so the approval buttons always stay reachable regardless of the command length.

Actual Behavior

The card overflows the viewport, the buttons are cut off and cannot be tapped, and the client is left with a pending permission request it cannot answer.

Additional Context

  • The server side works correctly: the request is created, the permission.asked event is delivered, and the reply is applied. Verified by creating a request through the API and replying through the API.
  • Reproducible every time on a phone-sized viewport with a long command, fine on a desktop viewport, so this looks like a small-screen layout problem.
  • The same card carries the "always" reply, which stores a durable project-scoped allow rule, so being unable to answer also blocks saving approvals.
  • Workaround used for now: keep approval-triggering commands on one short line (write a script file, then run it with a one-line command).
  • Related: the request list endpoint /api/permission/request is location-scoped, so a client has to pass the session location to see pending requests.
Dominant language
TypeScript
Stars
215k
Forks
28.9k
Avg merge
4h 21m
Merged PRs (30d)
476

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from anomalyco/opencode

All issues in anomalyco/opencode

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.