Skip to content

[FEATURE]: Bundle Desktop App with CLI Binary for Better Enterprise Management #43605

Closed as not planned

Description

@mikaellofgren

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Summary
Request to package the opencode desktop application and CLI binary together in a proper .app bundle structure, similar to how other developer tools (VS Code, Docker Desktop) distribute their software on macOS. Im unsure if this is solves my FR: #41431

Current Situation
Currently, opencode appears to distribute the CLI binary separately without a proper macOS app bundle structure.
This creates challenges for:

  • Enterprise deployment and management
  • Version tracking via MDM solutions (Jamf, Intune, etc.)
  • Patch management automation
  • Consistent user experience

Proposed Solution
Package opencode as a proper macOS application bundle:
OpenCode.app/
Contents/
Info.plist ← Contains version, bundle ID, etc.
MacOS/
opencode ← Main binary
Resources/
opencode-cli ← CLI binary (or symlink)
Additionally, provide an installer script that creates a symlink:
/usr/local/bin/opencode → /Applications/opencode.app/Contents/Resources/opencode-cli

Benefits
For Enterprise Users
Jamf Patch Management – Can automatically detect version via Info.plist (CFBundleShortVersionString) and deploy updates
MDM Compatibility – Works with standard macOS management tools
Inventory Tracking – Appears correctly in software inventory scans
Automated Updates – Enables enterprise update workflows

For All Users
Cleaner Installation – Single bundle in /Applications
Better Integration – Appears in Launchpad, Spotlight, etc.
Consistent macOS Conventions – Follows platform standards
Easier Uninstall – Remove app bundle + symlink

Examples from Other Tools
This pattern is well-established:
Visual Studio Code.app
Docker Desktop.app

Implementation Notes
Info.plist should include same as today:
CFBundleShortVersionString – User-friendly version (e.g. "1.18.19")
CFBundleVersion – Build number
CFBundleIdentifier – Unique bundle ID (e.g., ai.opencode.desktop)

CLI symlink can be created via post-install script
Both GUI and CLI should share the same version number for easy tracking

Workaround (Current)
For now, enterprise users must rely on:
Custom Extension Attributes to read opencode --version
Smart Groups in Jamf for version detection
Manual patch definitions

This change would significantly improve opencode's viability in enterprise environments while following macOS best practices.

Thank You!

Activity

  1. github-actions commented on Oct 20, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

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