CLI: Projects & Tasks
Every Keito time entry needs a project and a task. The CLI can discover both and resolve friendly names into API IDs.
List Projects
keito projects list
keito projects list --json
keito projects list --limit 20
The CLI lists active projects in the current company. In table output you see the project ID, name, code, client, billable status, and active status.
Agents should prefer JSON:
keito projects list --json
Show One Project
keito projects show "Acme Website"
keito projects show ACME
keito projects show project_id_here --json
The project argument accepts:
| Input | Example |
|---|---|
| Project ID | cmo1j2iwm0016ynap3fw2pcfw |
| Project name | Acme Website |
| Project code | ACME |
Resolution is case-insensitive.
List Tasks
keito projects tasks
keito projects tasks --json
keito projects tasks --limit 20
Tasks are workspace-global in Keito. They are not scoped to a single project, so any active task returned by keito projects tasks can be used with any active project that the user is allowed to access.
Use IDs in Automation
Humans can use names or codes:
keito time start --project "Acme Website" --task "Development"
Agents and scripts should use IDs after discovery:
keito time start \
--project "project_id_here" \
--task "task_id_here" \
--json
IDs avoid ambiguity when project names or task names are similar.
Not Found Recovery
If a project cannot be resolved, the CLI exits with code 4 and suggests:
keito projects list --json
If a task cannot be resolved, the CLI exits with code 4 and suggests:
keito projects tasks --json