Developer Tools
The niche utilities under cmdop — diagnostics, integration plumbing, config CRUD, and dev-only conveniences. Most users only ever touch cmdop doctor and cmdop config; the rest is for support tickets and integrations.
doctor
cmdop doctor
cmdop doctor --jsonRuns a battery of health checks: PATH integrity, OAuth token validity, daemon status, accessibility permissions (macOS), audit log writability, RAG cache reachability, custom provider connectivity.
Example:
$ cmdop doctor
✓ binary in PATH (/usr/local/bin/cmdop)
✓ OAuth token valid (expires 2026-05-04)
✓ daemon ONLINE (pid 12345)
✓ accessibility permissions granted (macOS)
✗ RAG cache stale — run `cmdop cache clear`Run this first on any “something doesn’t work” report.
env
cmdop env
cmdop env CMDOP # filter
cmdop env --jsonShows all environment variables cmdop respects, plus the resolved SDKRouter config (active provider, available models, endpoint).
mcp
cmdop mcp stdio # for Claude Desktop / Cursor
cmdop mcp tools # list available MCP toolsFull coverage on ./mcp. For always-on MCP attached to the daemon, use cmdop agent start --with-mcp.
serve
cmdop serve --addr 127.0.0.1:7333Local REST API server — exposes a subset of cmdop’s tools for clients that don’t speak gRPC. Bind to 127.0.0.1 only; auth via discovery token written to ~/.cmdop/local.discovery.
Use cases: editor integrations, browser extensions, custom dashboards.
setup
cmdop setupFirst-time setup wizard. Walks through:
- OAuth login.
- Mode selection (
prod/dev). - Optional service install.
- Optional desktop install.
Idempotent — safe to re-run any time.
cache
cmdop cache stats # size, entries, hit rate
cmdop cache clear # nuke
cmdop cache path # print cache dirCache lives at ~/.cache/cmdop/. RAG embeddings, model output cache, downloaded skill assets all live here. Clearing is safe — it’ll rebuild on next use, just slower.
config
cmdop config # interactive TUI
cmdop config show
cmdop config get permissions.enabled
cmdop config set permissions.enabled trueBacking file: ~/.cmdop/config.yaml. Daemon reloads on SIGHUP after config set.
debug
cmdop debug
cmdop debug --redact > debug.txtDiagnostic dump for support tickets — config snapshot, daemon status, log tail, env vars, version info. --redact strips token values, hostnames, and email addresses for safe sharing.
machines
cmdop machines
cmdop machines --status connected
cmdop machines --jsonList machines visible in your active workspace. Same data as the desktop’s Machines tab.
tui
cmdop tuiForce-open the TUI even outside a TTY (e.g., over a pipe or in CI for diagnostic captures). Most users won’t need this — cmdop chat already auto-detects TTY status.
version
cmdop version
cmdop version --jsonBuild version, commit, build date, Go version.
When to use each
| Scenario | Command |
|---|---|
| ”Something doesn’t work” | cmdop doctor |
| ”What is cmdop seeing?” | cmdop env |
| ”Edit a config knob” | cmdop config set ... |
| ”Wipe model cache” | cmdop cache clear |
| ”Send a support bundle” | cmdop debug --redact > debug.txt |
| ”Wire into Claude Desktop” | cmdop mcp stdio |
| ”Local REST endpoint” | cmdop serve |