CLI Reference#
Clidable ships a CLI: clidable <command> …. It's the same code that powers the GUI buttons — one implementation, two surfaces.
How to invoke it#
Inside Clidable terminals — it just works. Every terminal Clidable spawns (agent sessions, dev-server shells) has clidable on PATH automatically. This is how AI-team skills call clidable team delegate … from within an agent.
Outside Clidable, any of these are equivalent:
# The installed command (Homebrew / npm / install script put it on PATH):
clidable skills list
# Via the shim Clidable writes on startup (path varies by OS — see Configuration):
~/Library/Application\ Support/Clidable/bin/clidable skills list # macOS
# From a source checkout:
bun server/index.ts skills list
clidable --version prints the bare version; clidable --help prints the full usage. An unknown command errors instead of silently starting the server.
The server binary doubles as the CLI: if the first recognized token is a subcommand (open, stop, skills, mcp, plugins, instructions, team), it runs that and exits instead of starting the server.
Scope: commands that read or write project files operate on the current working directory — cd into your project first. Running any command group with no (or an unknown) verb prints its usage.
clidable open#
Open a directory in Clidable — the native app if installed (macOS; other platforms open the browser), else the browser. It never becomes a server itself: on the browser path it starts a background server and health-checks it before opening the deep link; on the app path it hands the directory to the app — which boots and owns its own server — and returns immediately, without waiting for that server to be up.
clidable open [dir] [--new] [--no-launch] [--print]
[dir]— the folder to open; defaults to the current directory (that cwd capture is the reason this lives in the CLI — a GUI app launched from Finder can't see your terminal's cwd). Use-- <dir>for a path starting with-.--new— always open a fresh workspace instead of resuming the latest one containing this folder.--no-launch— ensure the background server is running and print the deep-link URL, but don't open a UI (for scripts and CI).--print(alias--url) — just print the deep-link URL and exit; starts nothing.
clidable open # this folder, app or browser
clidable open ~/code/app --new
clidable open --no-launch # warm the server, open nothing
clidable stop#
Stop the background server (the one open starts, or one you launched
yourself).
clidable stop [--force]
If the running server belongs to the desktop app (its sidecar backend),
stop refuses and exits non-zero — the app can't restart its server, so
killing it would leave every open window dead until you relaunch. Quit the
app from its tray instead, or pass --force if you really mean it. Prints
what it did — stopped it, refused, cleared a stale lock, or found nothing
running.
clidable skills#
Manage skills — reusable SKILL.md instruction packs.
clidable skills list [-g] (alias: ls)
clidable skills search <query> (alias: find)
clidable skills add <owner/repo> --skill <id> [-a <bucket>]... [-g]
clidable skills remove <name> [-a <bucket>] [-g] (alias: rm)
| Flag | Meaning |
|---|---|
-g, --global |
Global scope (home directory) instead of the current project |
-a <bucket> |
Target agent bucket, repeatable. Buckets: claude, universal, qwen, aider. Default on add: claude, universal, qwen |
-s, --skill <id> |
Which skill inside the source repo |
searchqueries the public skills.sh registry (minimum 2 characters; multi-word queries use semantic search).addinstalls from a GitHub repo (owner/repoformat) into each bucket's folder:.claude/skills/,.agents/skills/(shared "universal" location),.qwen/skills/,.aider-desk/skills/. Already-installed skills are copied between buckets rather than re-downloaded.removedeletes the skill from the given bucket (or all buckets if-ais omitted).
clidable skills search postgres
clidable skills add vercel-labs/skills --skill react-best-practices
clidable skills remove react-best-practices
clidable mcp#
Manage MCP servers across agents.
clidable mcp list [-g] (alias: ls)
clidable mcp add <name> --npx <pkg> [options]
clidable mcp add <name> --command <cmd> [--arg <a>]... [options]
clidable mcp add <name> --url <url> [--sse] [--header K=V]... [options]
clidable mcp remove <name> [-a <agent>]... [-g] (alias: rm)
| Flag | Meaning |
|---|---|
-a <agent> |
Target agent, repeatable. Agents: claude, codex, cursor, opencode, copilot. Default on add: claude |
-g, --global |
Global scope instead of the current project |
--npx <pkg> |
Server is an npx package (requires Node at runtime) |
--command <cmd> + --arg <a> |
Server is an arbitrary command |
--url <url> [--sse] |
Server is a remote HTTP (or SSE) endpoint |
--env K=V |
Environment variable for the server, repeatable |
--header K=V |
HTTP header (with --url), repeatable |
Each agent's own config file is written (Claude's JSON, Codex's TOML, …) via the bundled add-mcp library. remove with no -a removes from all supported agents.
clidable mcp add postgres --npx @modelcontextprotocol/server-postgres \
--env DATABASE_URL=postgres://localhost/dev -a claude -a codex
clidable mcp list
clidable mcp remove postgres
clidable plugins#
Manage plugins for Claude Code (shared with Cursor) and Codex.
clidable plugins list (alias: ls)
clidable plugins discover [-q <query>] (alias: search)
clidable plugins add <source> [--store <s>]... [--scope <scope>]
clidable plugins install <name@marketplace> [--store <s>] [--scope <scope>] (alias: i)
clidable plugins remove <name> [--store <s>]... (alias: rm)
| Flag | Meaning |
|---|---|
--store <s> |
claude (default; also covers Cursor) or codex, repeatable |
--scope <s> |
user, project, or local (default: project for add, user for install) |
-q <query> |
Filter discover results |
discoverlists plugins from your Claude marketplaces (with install counts) and OpenAI's curated Codex catalog.addinstalls every plugin from a source (directory/repo);installinstalls a single named marketplace plugin via the agent's own plugin command.
clidable plugins discover -q review
clidable plugins install code-review@anthropics --store claude
clidable instructions#
Manage the project's canonical AGENTS.md. Run from the project directory.
clidable instructions list (alias: ls)
clidable instructions init [--force]
clidable instructions sync
clidable instructions edit
list— shows whetherAGENTS.mdexists and how each agent is covered: native (reads AGENTS.md directly: codex, cursor, qwen, copilot, kimi, opencode, antigravity), pointer (via a managedCLAUDE.mdimport), or not wired.init— writes a starterAGENTS.mdtailored to your detected stack (package manager, realpackage.jsonscripts, language conventions). Refuses to overwrite unless--force.sync— creates or repairs the Claude pointer file. Never clobbers a pointer file that carries its own hand-written content.edit— opensAGENTS.mdin$EDITOR(creates a starter first if missing).
clidable team#
AI-team delegation and roles.
clidable team delegate <agent> <prompt...> [--background]
clidable team status [<job-id>]
clidable team result [<job-id>]
clidable team cancel [<job-id>]
clidable team roles
clidable team sync
Delegate agents: codex, claude, antigravity, opencode, copilot, kimi, cursor, qwen.
delegateruns the agent non-interactively on the prompt (read-only sandbox where the agent supports one) and prints its answer. With--backgroundit returns a job ID immediately.statuslists all jobs (or details one),resultprints a finished job's answer,cancelstops a running one. With no job ID,result/canceltarget the most relevant job.rolesprints the role library and what's enabled for this project;syncreconciles enabled roles into the project's skill folders (installs enabled, prunes disabled/removed).
Server requirement: delegate/status/result/cancel talk to the running Clidable server on 127.0.0.1:${CLIDABLE_PORT:-7878} — start Clidable first. roles and sync work directly on project files, no server needed.
clidable team delegate codex "Review server/routes/*.ts for SSRF issues"
clidable team delegate antigravity "Threat-model the preview proxy" --background
clidable team status
clidable team result
Server launch flags#
When no subcommand is given, the binary starts the server:
clidable [--port <n>] [--bind <addr>] [--allow-lan] [--dev]
See Running Clidable and the Configuration Reference — including the important caveat that Clidable is localhost-only by default: a non-loopback --bind makes the server refuse to start unless you add --allow-lan (or CLIDABLE_ALLOW_LAN=1), which permits the exposure but adds no authentication and prints a loud startup warning. --auth / --tls refuse to start unconditionally — Clidable has no built-in auth or TLS by design (that's your access layer's job: a tunnel or an authenticating reverse proxy).