Command-line interface for tila — a state-and-coordination engine for multi-machine agentic work.
npm install -g tila-cli
# or
brew install tila/tap/tila
# or
curl -fsSL https://tila.dev/install.sh | bashSee the latest release for platform-specific binaries.
| Command | Description |
|---|---|
task |
Manage tasks (create, list, show, update, claim, release) |
work-unit |
(deprecated — use task) Alias for task |
entity |
(deprecated — use task) Alias for task |
record |
Manage typed records (get, set, patch, list, history, archive) |
artifact |
Manage artifacts (put, search, list) |
init |
Initialize a tila project |
deploy |
Deploy the Worker to Cloudflare |
doctor |
Check project health |
open |
Open the tila dashboard in your browser |
mcp |
MCP server configuration |
gate |
Manage coordination gates |
signal |
Send a signal to a target |
presence |
Show all participants (active and inactive) |
journal |
Query the project journal |
schema |
Manage project schema |
search |
Unified full-text search across tasks and artifacts |
summary |
Show project summary |
state |
List all active claims |
token |
Manage project API tokens |
repos |
Manage the GitHub repo allowlist (repos register to register the configured repo) |
template |
Manage task templates |
index |
Manage index artifacts |
config |
View project configuration |
reset |
Reset all project data |
tila init --cloudflare # Provision Worker + DO + D1 + R2 on Cloudflare
tila init --inherit # Join an existing project (teammate onboarding)
tila init --local # Local SQLite backend, no Cloudflare account needed
tila init --github-app # Register a GitHub App for repo-scoped auth
tila init --skip-github # Skip GitHub App setup (use tila-token auth)GitHub auth is configured automatically during tila init --cloudflare. See GitHub-scoped Auth for details.
# Create and claim a task
tila task new "Migrate auth to sessions"
tila task claim T-abc123
# Upload an artifact against a claimed task
tila artifact put plan.md --kind=plan --resource=T-abc123 --fence=1
# Search across all artifacts
tila artifact search "auth migration"
# Manage typed records
tila record set service api ./api.yaml
tila record get service api
tila record patch service api --json '{"owner":"infra"}' --fence=1
# Check project health
tila doctor
tila summary
tila presenceEvery CLI process has one participant ID. Resolution order is --participant-id, then TILA_PARTICIPANT_ID, then a generated UUID. tila task claim prints the participant ID it used. Standalone renew/release require the same ID explicitly so a new process cannot silently act as another participant:
tila --participant-id session-7 task claim T-abc123
tila --participant-id session-7 task renew T-abc123 --fence 1
tila shell --instance work # injects one TILA_PARTICIPANT_ID for the subshellHostname and Git repository/worktree/branch/commit details are collected best-effort as environment metadata only; they never establish ownership.
tila mcp init # Auto-detect editor and write MCP configSee packages/mcp-server/README.md for manual configuration and the full tool list.