setup

SKILL.md

case.dev CLI

The casedev CLI is the interface to case.dev, a legal AI platform providing encrypted document vaults, production OCR, audio transcription, and legal/web/patent search.

This skill covers installation, authentication, diagnostics, and general CLI usage. For domain-specific workflows, see the companion skills: vaults, ocr, transcription, search.

Installation

# macOS (Homebrew)
brew install casemark/casedev/casedev

# macOS + Linux (shell script)
curl -fsSL https://raw.githubusercontent.com/CaseMark/homebrew-casedev/main/install.sh | sh

Or run the bundled setup script:

bash scripts/setup.sh

Verify: casedev --version

Authentication

Three methods, in order of preference:

# 1. Environment variable (best for agents)
export CASE_API_KEY=sk_case_YOUR_KEY

# 2. Store key in config
casedev auth set-key --api-key sk_case_YOUR_KEY

# 3. Browser device-flow login (interactive, use --no-open for headless)
casedev auth login --no-open

Check auth status:

casedev auth status --json

Logout:

casedev auth logout

API keys start with sk_case_. Config is stored at ~/.config/case/config.json.

Diagnostics

Run casedev doctor to check connectivity, service health, and auth:

casedev doctor --json

Checks: API URL format, root reachability, vault/OCR/voice/compute/skills health endpoints, API key validity. Use --strict to fail on warnings.

Focus (Default Targets)

Set default vault/object/project so you can omit --vault flags:

# Set focus
casedev focus set --vault VAULT_ID --object OBJECT_ID --project PROJECT_ID

# Show current focus
casedev focus show --json

# Clear
casedev focus clear --vault
casedev focus clear --all

Job Tracker

Unified job tracker for OCR and transcription jobs:

# List all tracked jobs (auto-refreshes status)
casedev jobs list --json

# Filter
casedev jobs list --type ocr --status completed --json
casedev jobs list --type transcribe --vault VAULT_ID --json

# Get details
casedev jobs get JOB_ID --type ocr --json

# Watch until complete
casedev jobs watch JOB_ID --type transcribe --interval 5 --timeout 600 --json

Use --no-refresh on jobs list to skip live status checks.

API Routes

Browse and call any case.dev API endpoint by operationId:

# List available routes
casedev routes list --json
casedev routes list --tag vault --json
casedev routes list --search "upload" --json

# Call by operationId
casedev call getVaultList --json
casedev call createVault --body '{"name":"test"}' --json
casedev call getVaultObjects --param vaultId=VAULT_ID --json

Raw API Access

For endpoints not covered by named commands:

casedev api GET /vault --json
casedev api POST /vault --body '{"name":"new-vault"}' --json
casedev api GET /ocr/v1/health --no-auth --json
casedev api POST /legal/v1/find --body '{"query":"breach of contract"}' --json

Flags: --header "name:value", --no-auth, --body <json>.

Global Flags

All commands accept:

  • --json — machine-readable JSON output (always use this in agent workflows)
  • --api-url <url> — override API base URL
  • --api-key <key> — override API key for this invocation

Troubleshooting

"No API key set": Run casedev auth set-key --api-key sk_case_... or set CASE_API_KEY env var.

Doctor shows FAIL on a health check: The specific service may be temporarily unavailable. Check the message for which service (vault, OCR, voice, compute).

"Invalid API key format": Keys must start with sk_case_.

Auth login times out: Use --timeout 120 for slower connections, or use auth set-key instead.

Weekly Installs
4
GitHub Stars
1
First Seen
Feb 22, 2026
Installed on
opencode4
antigravity4
claude-code4
github-copilot4
amp4
cline4