architecture
Skill761 starsChanged todayMITView on GitHub
Explains the purpose, features, and architecture of claude-desktop-extra - which repackages Anthropic's official Claude Desktop Linux .deb for Arch/Fedora/RHEL/Nix/AppImage and layers Linux-only extras (Computer Use, themes, multi-profile, Quick Entry) on top via surgical JS patches. Use when onboarding, writing docs/READMEs, explaining what the project does, or reasoning about how the official build and our patches fit together.
138 other projects use a version of this.
Adopted by
Most recently taken up by
- rajdeepbhattacharyya25-pixel/agents-for-antigravity-their own version, first seen Nov 15, 2026
- Come-In-Labs/agent-skillstheir own version, first seen Nov 15, 2026
- scolladon/crafttheir own version, first seen Nov 15, 2026
- TheBeardedBearSAS/claude-crafttheir own version, first seen Nov 11, 2026
- thistleknot/skillstheir own version, first seen Nov 8, 2026
- lklimek/claudiustheir own version, first seen Nov 8, 2026
Used with
Projects with it also use intelligent-routing, bash-linux and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
SKB3002Skillintelligent-routing
Automatic agent selection and intelligent task routing. Analyzes user requests and automatically selects the best specialist agent(s) without requiring explicit user mentions.
Also in 6 projects that use this
xenitV1Skillbash-linux
Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.
Also in 8 projects that use this
xenitV1Skillred-team-tactics
Red team tactics principles based on MITRE ATT&CK. Attack phases, detection evasion, reporting.
Also in 8 projects that use this
SKB3002Skillnextjs-react-expert
React and Next.js performance optimization from Vercel Engineering. Use when building React components, optimizing performance, eliminating waterfalls, reducing bundle size, reviewing code for performance issues, or implementing server/client-side optimizations.
Also in 3 projects that use this
- +8 more from xenitV1
Other versions138 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 138
- anthropics/knowledge-work-plugins★ 36ksame name
- iOfficeAI/AionUi★ 34ksame name
- vudovn/ag-kit★ 8.2ksame name
- vudovn/antigravity-kit★ 8.2ksame name
- nativewind/nativewind★ 8.1ksame name
- PaulWoitaschek/Voice★ 3.3ksame name
- wellwelwel/poku★ 1.2ksame name
- Alwurts/simple-ai★ 755same name
- ktnyt/cclsp★ 673same name
- matrixorigin/Memoria★ 624same name
128 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- 3pSkill
- auditSkill
- check-issueSkill
- check-prSkill
- commentSkill
- debugSkill
- deploySkill
- fresh-upstreamSkill
- linuxSkill
- test-nativeSkill
- updateSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 120 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
Multi-profile instances: - run several Desktops side by side via CLAUDE_PROFILE (fix_profile_*).
“Common” is measured: kept by at least 6 in 10 of the 120 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Architecture - claude-desktop-extra
Repackages Anthropic's official Claude Desktop Linux .deb for the distros Anthropic does not ship (Arch via our own pacman repo, Fedora/RHEL, NixOS, AppImage) and for our own Debian/Ubuntu .deb, while layering a small set of Linux-only value-adds that the official build does not provide. See /linux for compat specifics.
What we start from: the official Linux .deb
Anthropic publishes an official Claude Desktop build for Linux as a .deb in an apt repo (https://downloads.claude.ai/claude-desktop/apt). It bundles its own Electron (45.2.1 as of v5.1231.0; authoritative: the deb's usr/lib/claude-desktop/version) and ships a native Cowork VM backend (cowork-linux-helper + virtiofsd + smol-bin + QEMU/OVMF; the local VM requires /dev/kvm and /dev/vhost-vsock). The official build natively supports Chat, Code and Cowork, ships a staged Linux Computer Use rollout (portal-based, GNOME 46+ / current Plasma, no wlroots), and reads managed config from /etc/claude-desktop/managed-settings.json. We do not patch the Windows MSIX any more - that pipeline is gone.
What this repo does: ingest -> patch -> repackage
Ingest: download the official .deb (apt repo, or --deb PATH/--version X) -> verify GPG + SHA256 -> dpkg-deb -x -> locate usr/lib/claude-desktop/resources/app.asar -> asar extract.
Patch: run scripts/apply_patches.py (the orchestrator) over the extracted bundle. 70 surgical JS patches (patches/{linux,community,core}/*.nim: 38 Linux fixes + 9 core plumbing, always on; 23 community features, opt-in, compiled native binaries, regex on minified JS) apply Linux-only fixes and our value-adds. The official build re-minifies between releases, so patterns use [\w$]+ wildcards anchored on stable strings (feature names, log messages, process.platform==="darwin"), count EXPECTED_PATCHES, and quit(1) on any miss. .upstream-version records the last validated version.
Repackage: asar pack (preserving app.asar.unpacked, which carries the official build's pre-built native modules - we no longer rebuild node-pty) into a tarball, then build the pacman package/our-own-deb/rpm/AppImage/Nix from it.
Several patches that used to enable Cowork on Linux (the "cowork-wiring" cluster) were removed once the official build started shipping Cowork natively; assert-only regression guards were retired on 2026-07-15 (AGENTS.md Rule 4): only patches that change the bundle remain, and the absorption probe (scripts/check-upstream-absorbed.py) flags a patch whose end state upstream now ships.
Value-adds we layer on top (the reason this repo exists)
- Computer Use - desktop automation (screenshot/click/type/scroll); session-aware backends (
fix_computer_use_linux+ bundledkwin-portal-bridge). On for every account and session type; the official build's own Linux Computer Use is a staged portal-based rollout that skips wlroots, and our bundled bridges (x11, wlroots, gnome-portal, kwin-portal) take precedence. See/linuxfor the input/screenshot cascades. - Custom themes - dual light/dark built-in palettes (
add_feature_custom_themes). - Multi-profile instances - run several Desktops side by side via
CLAUDE_PROFILE(fix_profile_*). - Quick Entry - global hotkey popup, multi-monitor + Wayland-safe (
fix_quick_entry_*).
Features the app exposes that the official build already provides (we just preserve them through the repackage):
- Chat - main conversational UI.
- Claude Code - auto-detects system
claudeCLI; Code tab + integrated terminal. - Cowork - delegate a goal to a sandboxed Claude Code agent that reads/edits/creates files and returns a deliverable. Runs on the official native Cowork VM backend bundled in the
.deb(no separate daemon needed) for its local VM; the local VM requires/dev/kvm. Cowork has two backends: cloud Cowork (1P only; no KVM, desktop tools need a keyed device = TPM access) and the local Cowork VM (optional in 1P, the only Cowork in 3P). Settings -> Extra -> Cowork (Linux) shows both. - Browser Tools - Chrome automation via the Claude-in-Chrome extension/MCP.
- 3P / Enterprise gateway - configure external inference (Bedrock/Vertex/Azure/gateway); managed config from
/etc/claude-desktop/managed-settings.json; ion-dist 3P-config SPA. - Imagine - in-Cowork image generation.
baseline/ tracks version-sensitive internals (re-validate each release): CLAUDE_FEATURE_FLAGS.md (flag catalog, GrowthBook IDs, 3-layer override), CLAUDE_BUILT_IN_MCP.md (internal MCP servers), ION.md (3P-config SPA stats/hashes), PLATFORM_GATE_BASELINE.md (every darwin/win32 gate classified PATCHED/NATIVE/STUB/PORTABLE).
claude-cowork-service - DEPRECATED
Historically this project shipped a sibling Go daemon (claude-cowork-service, binary cowork-svc-linux) that filled the role the macOS/Windows VM layer plays for Cowork: it reverse-engineered the length-prefixed-JSON-over-Unix-socket RPC protocol and ran the claude CLI either directly on the host (native mode) or in a QEMU/KVM guest. It is now deprecated/archived. The official Linux .deb bundles its own native Cowork VM backend, so the daemon is no longer needed or installed. Existing references in baseline/ and CHANGELOG.md are historical record.
USPs
Project vs the official build: brings Claude Desktop to the distros Anthropic does not package (Arch, Fedora/RHEL, Nix, AppImage); adds Computer Use on every session type (ahead of the official build's staged portal rollout), custom themes, multi-profile, and Quick Entry; open source.
How it fits
Anthropic official Claude Desktop Linux .deb (own Electron + native Cowork VM backend)
│ download → verify GPG+SHA256 → dpkg-deb -x → asar extract
▼
claude-desktop-extra (70 JS patches: 47 always-on Linux fixes + core plumbing, 23 opt-in community features)
│ asar pack → tarball
▼
our pacman repo / our .deb / .rpm / .AppImage / NixDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

