CLI Reference
The OpenLabor CLI (@openlabor/cli) does two things: it pilots the employees working in your workspace, and it copies prompts from the OpenLabor catalog into your editor. The catalog commands hire nobody — they write files into Claude Code, Cursor, Codex, OpenCode or Windsurf.
Installing and signing in: Install the CLI.
Session commands
Credentials are stored locally at ~/.openlabor/credentials.json. Per-employee keys are rejected on org-wide commands like team.
Your Team
Commands that act on the employees actually working in your workspace.
upload skips the files OpenLabor generates (SOUL.md, AGENTS.md, …) so an import can never overwrite who an employee is, and refuses to replace existing files unless you pass --overwrite.
Building the team
Commands that create, rather than talk to. These exist so a migration can run unattended — see Settings → Import, which hands your existing agent a prompt built on them.
skill catalog and skill list answer different questions from different sources: the catalog is the database, the list reads the employee's workspace files — which is where an installed skill actually lives, and the two do drift apart.
Three things worth knowing before you script these. A role is single-occupancy — hiring cmo twice is refused, which is what makes re-running an import safe. context set replaces: read openlabor context first and send the merged text, or you overwrite a brain someone wrote by hand. And --shared is a route, not a folder name — upload cmo x.md --dir shared writes cmo/shared/x.md, which is private to that employee.
Auto-Routing
When you use ask without naming an employee, the CLI routes your message to the best match:
Routing scores by keyword matches, role relevance, and department.
Catalog
Browse OpenLabor's prompt library and copy prompts into your coding tool — no authentication required.
list employees and install employee still work as aliases, but the accurate word is *role*: these commands write a prompt file, they don't hire anyone. Hiring happens in the dashboard.
Targets
Pass --target / -t, or let the CLI auto-detect from the config files in your project.
Claude Code Integration
Install the OpenLabor skill for Claude Code:
Claude Code then knows how to use openlabor ask and openlabor chat to talk to your AI team mid-conversation.
Calling the CLI From an Agent
Set OPENLABOR_JSON=1 and every command — including failures — answers with JSON:
Colours are dropped automatically when output is piped, and when NO_COLOR is set.
Update & Config
Settings live at ~/.openlabor/config.yaml: