Foundational Rust CLI for interacting with Reclaim.ai.
- Binary executable named
reclaim - Clear CLI/API separation in code:
src/cli.rsfor command parsing and help textsrc/reclaim_api.rsfor Reclaim API abstraction + HTTP implementationsrc/error.rsfor actionable errors with fix hints
- Foundational commands:
reclaim listreclaim list --filter NEW|SCHEDULED|IN_PROGRESS|COMPLETE|CANCELLED|ARCHIVED|open|completedreclaim dashboard(interactive TUI)reclaim get <TASK_ID>reclaim create --title "..." [options]reclaim put <TASK_ID> --json '{...}'or--set key=valuereclaim patch <TASK_ID> --json '{...}'and/or--set key=valuereclaim delete <TASK_ID>reclaim events listreclaim events get <CALENDAR_ID> <EVENT_ID>reclaim events create|update|delete ...
curl -fsSL https://raw.githubusercontent.com/cruzluna/reclaim-cli/main/install.sh | bashUseful overrides:
RECLAIM_INSTALL_TAG(default:latest)RECLAIM_INSTALL_DIR(default:$HOME/.local/bin)RECLAIM_INSTALL_TARGET(for manual target selection)
- Go to GitHub Releases and download the archive for your platform:
reclaim-cli-<target>.tar.gz
- Extract it:
tar -xzf reclaim-cli-<target>.tar.gz- Move the
reclaimbinary into yourPATH:
install -m 0755 reclaim-cli-<target>/reclaim /usr/local/bin/reclaimgit clone https://github.com/cruzluna/reclaim-cli.git
cd reclaim-cli
cargo install --path .- Set API key:
export RECLAIM_API_KEY=your_api_key_here- Run commands:
cargo run --bin reclaim -- list
cargo run --bin reclaim -- list --filter open
cargo run --bin reclaim -- list --filter completed
cargo run --bin reclaim -- list --filter IN_PROGRESS
cargo run --bin reclaim -- dashboard
cargo run --bin reclaim -- get 123
cargo run --bin reclaim -- create --title "Plan sprint"
cargo run --bin reclaim -- patch 123 --set priority=P4 --set snoozeUntil=2026-02-25T17:00:00Z
cargo run --bin reclaim -- put 123 --set priority=P2
cargo run --bin reclaim -- delete 123
cargo run --bin reclaim -- events list --start 2026-02-01 --end 2026-02-28
cargo run --bin reclaim -- events create --calendar-id 829105 --title "Team sync" --start 2026-02-21T18:30:00Z --end 2026-02-21T19:00:00ZOpen a terminal dashboard for your tasks:
cargo run --bin reclaim -- dashboardKeyboard shortcuts (Vim-friendly):
j/k(or arrow keys): move selectiong/G: jump to first/last task?: toggle help panelr: refresh tasks from API- Quit with
:q,Esc, orCtrl+C
Use --format json when output should be machine-readable:
cargo run --bin reclaim -- list --format jsonUse --json and --set key=value on put/patch for agent-friendly updates:
# Partial update (PATCH)
cargo run --bin reclaim -- patch 123 \
--set priority=P4 \
--set snoozeUntil=2026-02-25T17:00:00Z \
--format json
# Full replace (PUT) using a JSON object
cargo run --bin reclaim -- put 123 --json '{"title":"Plan sprint","priority":"P2"}' --format json
# Create an event
cargo run --bin reclaim -- events create \
--calendar-id 829105 \
--title "UCA Standup" \
--start 2026-02-19T18:30:00Z \
--end 2026-02-19T19:00:00Z \
--priority P1 \
--format json
# Update an event using field overrides
cargo run --bin reclaim -- events update \
--calendar-id 829105 \
--event-id r2d260ojiopn \
--set priority=P4 \
--set location="Room A" \
--format json
# Advanced event action payload
cargo run --bin reclaim -- events apply \
--json '{"actionsTaken":[{"type":"CancelEventAction","policyId":"00000000-0000-0000-0000-000000000000","eventKey":"829105/r2d260ojiopn"}]}' \
--format jsonGenerate reclaim(1) from the clap CLI definition:
cargo run --bin reclaim-manBy default this writes man/reclaim.1. To choose a different destination:
cargo run --bin reclaim-man -- --output /tmp/reclaim.1Release archives also include reclaim.1 next to the binary.
This foundation is based on observed usage from: https://github.com/johnjhughes/reclaim-mcp-server
In particular:
- Base URL:
https://api.app.reclaim.ai/api - Task endpoints:
/tasks,/tasks/{id}(GET,PUT,PATCH,DELETE) - Event endpoints:
/events,/events/{calendarId}/{eventId} - Event mutations:
/schedule-actions/apply-actions(AddEventAction,UpdateEventAction,CancelEventAction)