npx skills add ...
npx skills add reason-machines/trending-skills --skill clui-cc-claude-overlay
Command Line User Interface for Claude Code — a floating macOS desktop overlay with multi-tab sessions, permission approval UI, voice input, and skills marketplace.
npx skills add reason-machines/trending-skills --skill clui-cc-claude-overlay
Skill by ara.so — Daily 2026 Skills collection.
Clui CC wraps the Claude Code CLI in a transparent, floating macOS overlay with multi-tab sessions, a permission approval UI (PreToolUse HTTP hooks), voice input via Whisper, conversation history, and a skills marketplace. It requires an authenticated claude CLI and runs entirely local — no telemetry or cloud dependency.
| Requirement | Minimum | Notes |
|---|---|---|
| macOS | 13+ | Overlay is macOS-only |
| Node.js | 18+ | LTS 20 or 22 recommended |
| Python | 3.10+ | Needs setuptools on 3.12+ |
| Claude Code CLI | any | Must be authenticated |
| Whisper CLI | any | For voice input |
On first launch macOS may block the unsigned app — go to System Settings → Privacy & Security → Open Anyway.
| Shortcut | Action |
|---|---|
⌥ + Space | Show / hide the overlay |
Cmd + Shift + K | Fallback toggle (if ⌥+Space is claimed) |
claude -p --output-format stream-json as a subprocess.RunManager parses NDJSON; EventNormalizer normalizes events.ControlPlane manages tab lifecycle: connecting → idle → running → completed/failed/dead.PermissionServer (localhost only).--resume <session-id>.window.clui)The preload bridge exposes window.clui in the renderer. Key methods:
Tool calls are intercepted by PermissionServer via PreToolUse HTTP hooks before execution. The renderer receives a permission_request event and must resolve it.
Voice input uses Whisper locally. It is installed automatically by install-app.command or via brew install whisper-cli. No API key is needed — transcription runs entirely on-device.
Install skills (plugins) from Anthropic's GitHub repos without leaving the UI.
Network calls made by the marketplace:
| Endpoint | Purpose | Required |
|---|---|---|
raw.githubusercontent.com/anthropics/* | Skill catalog (5 min cache) | No — graceful fallback |
api.github.com/repos/anthropics/*/tarball/* | Skill tarball download | No — skipped on failure |
Custom CSS properties are applied to :root and can be overridden in renderer stylesheets:
Skills are auto-loaded from ~/.clui/skills/. A skill is a directory with a skill.js entry:
App blocked on first launch → System Settings → Privacy & Security → Open Anyway
node-pty fails to compile
claude not found
Whisper not found
Port conflict on PermissionServer The HTTP hook server runs on localhost only. If another process occupies its port, restart with:
setuptools missing (Python 3.12+)
Overlay not showing
Cmd + Shift + K| Component | Version |
|---|---|
| macOS | 15.x Sequoia |
| Node.js | 20.x LTS, 22.x |
| Python | 3.12 (+ setuptools) |
| Electron | 33.x |
| Claude Code CLI | 2.1.71 |