Skip to content

[FEATURE]: Integrate opencode serve as a first-class monitor mode in the desktop client #46154

Open

Description

@neohiro

Summary

  • I have searched for existing issues before filing this

Integrate opencode serve as a first-class, optional monitor/mode within the OpenCode desktop client — so users can serve their local instance to mobile or other devices without running a separate sidecar process.


Problem

Today, opencode serve must be run as a separate process alongside the desktop client. This creates:

  1. Mobile access friction — users who want OpenCode on their phone/tablet must set up serve as a sidecar, manage auth, port forwarding, and reverse proxy manually
  2. Fragmented UX — "Run OpenCode" and "Serve OpenCode" are two separate mental models; most users don't discover serve exists
  3. Half-baked integrations — plugins like neohiro/mobile-sync exist to fill this gap but are inherently limited because serve was never an integrated feature
  4. No unified session/project sharing — serve as a sidecar doesn't carry OpenCode's session context naturally between devices

Proposed Solution

Add a "Serve Mode" toggle in the desktop client:

Status Popover → [ ] Enable Serve
┌─ Serve Settings ──────────────────┐
│ Port:     [ 18792 ]              │
│ Auth:     [x] Require password  │
│ Network:  ( ) Local only         │
│           (•) Accessible LAN     │
│           ( ) Public (Tunnel)   │
│ Password: [ ••••••••••••••••• ] │
└──────────────────────────────────┘

Behavior:

  • Serve starts/stops within the same OpenCode process
  • Session and project context is shared naturally (same process)
  • Auth is integrated with the client's auth system
  • Client shows a "Serving" indicator with URL and QR code
  • Future: built-in tunneling for true mobile access

Related Issues

Related Issue Topic This Issue
#19078 serve ignores configuration Making serve a built-in client feature
#14445 serve base directory security Same underlying serve, different ask
#43039 no-password flag for serve Auth UX in the integrated panel
#44640 require auth for non-loopback binds Secure-by-default in the integrated panel
#32932 serve doesn't release port on exit Should be fixed in integrated mode
#43110 generic ServeError on Windows Better error UX in integrated panel

OS

Primarily Windows and macOS (desktop use case). All platforms benefit.


🦙 Creative Monkey at FrenzyPenguin Media — open-source security hardening & privacy tools

Activity

  1. neohiro commented on Aug 29, 2026

    @neohiro
    Author

    Hey @thdxr @adamdotdevin @fwang @Brendonovich — making opencode serve a first-class client feature (built-in toggle + QR code + auth integration) would unlock true mobile access without sidecar hacks. Distinct from the existing serve bug reports (#19078, #14445, #44640) — this is about UX integration. 🦙 Creative Monkey at FrenzyPenguin Media

  2. changed the title [-][ENHANCEMENT]: Integrate opencode serve as a first-class monitor mode in the desktop client[/-] [+][FEATURE]: Integrate opencode serve as a first-class monitor mode in the desktop client[/+] on Aug 29, 2026
  3. github-actions commented on Aug 29, 2026

    @github-actions
    Contributor

    Thanks for updating the issue, @neohiro! It now meets our contributing guidelines.

  4. opencodejr commented on Oct 28, 2026

    @opencodejr

    Thanks for the detailed proposal, @neohiro!

    You're asking for an optional "Serve Mode" in the desktop client. It would make the instance the desktop app already runs reachable from your phone or other devices (local only, LAN, or later a tunnel), with port and password settings and a "Serving" indicator with a URL and QR code. You would no longer need to run opencode serve separately next to the app.

    The v2 desktop app already starts its own server in the background, but it only listens locally (127.0.0.1) with a generated password, and there's no setting to expose it to other devices. This needs changes to the desktop app itself, so it can't be done as a plugin. The maintainers will consider it.

    Thanks also for listing the related serve issues (#19078, #14445, #43039, #44640, #32932, #43110).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions