← udle.app
Udle developer tools

Manage tasks from your terminal

Install one small CLI and a shared skill for Codex, Claude Code, and OpenCode. Then ask your coding agent to add, find, update, complete, or tag Udle tasks.

Install

Node.js 18 or newer is required. The installer puts udle in ~/.local/bin and the skill in the standard global agent directories.

macOS and Linux:

curl -fsSL https://udle.app/install.sh | sh

Windows PowerShell:

irm https://udle.app/install.ps1 | iex

Connect your account

  1. In Udle, open Settings → Account & billing → API access.
  2. Create a token and copy it. It is only shown once.
  3. Run udle auth set-token and paste the token into the hidden prompt.
The token can manage todos in every profile in your account. Do not paste it into chat, source code, or shell history.

Link a repository

From a repository, choose a profile and a full project path. The generated .udle.json contains IDs and names only-never your token.

udle profiles
udle projects --profile Personal
udle link --profile Personal --project "Udle > Tasks"
udle status

Ask your agent naturally

Restart Codex, Claude Code, or OpenCode after installation so it discovers the skill. Then try:

Use the CLI directly

udle tasks
udle perspectives
udle tasks --perspective Today
udle tasks --perspective "Custom perspective name"
udle add "Investigate retry loop" --notes "Reproduce on two devices"
udle add "Reproduce crash" --before TASK_ID
udle folders
udle add-folder "Backlog" --folder "Work"
udle add-project "Launch" --folder "Work > Backlog" --mode sequential
udle move TASK_ID --position 0
udle edit PROJECT_ID --mode parallel
udle done TASK_ID
udle tag TASK_ID done
udle --help

The CLI uses ETags and Udle’s sparse merge API. Concurrent edits to different fields or tasks merge; overlapping edits fail with a conflict instead of silently overwriting data.

Update or remove

Run the installer again to update managed files. To disconnect without removing the CLI, run udle auth logout. The installer will not replace an agent skill it did not create.

Building an integration instead? Read the Todo API documentation.