{
 "schema_version": 1,
 "generated": "2026-10-20",
 "id": "amontlabs-lcu--approve-desktop-apps-in-claude-code",
 "repo": "amontlabs/lcu",
 "repo_url": "https://github.com/amontlabs/lcu",
 "repo_slug": "amontlabs-lcu",
 "title": "Let Claude Code drive desktop apps with native approvals",
 "page_title": "How to let Claude Code drive desktop apps with native approvals with Lcu",
 "summary": "Install LCU as a Claude Code plugin so Claude can use desktop apps after you approve each one.",
 "who": "A developer on an Apple Silicon Mac who uses Claude Code or the Claude app and wants the agent to operate apps like Zed, Notes, or Safari.",
 "problem": "The Claude app's Code tab used to fail app requests with 'Computer Use was not approved', and there was no clear way to grant access.",
 "outcome": "Claude Code can control approved desktop apps, and each app is approved by you through a native question card or terminal pane.",
 "steps": [
  "Install the official ChatGPT desktop app and Claude Code 2.1.287 or later.",
  "Run `claude plugin marketplace add amontlabs/lcu`.",
  "Run `claude plugin install lcu@lcu`.",
  "When the agent first controls an app, choose Allow this conversation, Always allow, or Deny on the approval card.",
  "Run `/computer-use-apps` to review always-allowed apps and revoke any you no longer want."
 ],
 "agent_prompt": "Using the amontlabs/lcu repo, install LCU as a Claude Code plugin on this Mac with the marketplace and plugin install commands from the README. Ask me to approve the first app the agent controls, then report the output of /computer-use-apps. Verify that the Approved apps panel lists only the apps I approved.",
 "agents": [
  "claude-code"
 ],
 "difficulty": "Intermediate",
 "time": "30 minutes",
 "basis": "readme",
 "caveat": "The Claude Code plugin install path is documented for Apple Silicon Macs and needs Claude Code 2.1.287 or later.",
 "category": "Software and DevOps",
 "tags": [
  "Software and DevOps"
 ],
 "lang": "javascript",
 "requirements": [
  "The official ChatGPT desktop app installed locally",
  "Your agent harness installed (Claude Code, Codex CLI, Pi, or another supported adapter)",
  "macOS on Apple Silicon, or Linux ARM64 or x86-64 with an active X11 desktop and D-Bus",
  "Accessibility and screen-recording permissions on macOS, approved during first use"
 ],
 "risk": "dual-use",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [
  {
   "tag": "credentials",
   "notice": "Once an app is always allowed, the agent can act inside it, so avoid always-allowing password managers and browsers that hold logins."
  }
 ],
 "best": true,
 "score": 1.0,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/amontlabs-lcu/approve-desktop-apps-in-claude-code/",
 "md": "https://dedupedai.com/use-cases/amontlabs-lcu/approve-desktop-apps-in-claude-code/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/amontlabs-lcu--approve-desktop-apps-in-claude-code.json",
 "api_version": "v1"
}
