Skip to content

Completed list returns generic HTTP 400 for broad historical date ranges #465

Description

@leeyspaul

Bug

td completed list returns a generic HTTP 400 when querying a broad historical date range.

Environment

  • Todoist CLI: 3.1.4
  • macOS/Homebrew install

Reproduction

td completed list --since 2026-01-01 --until 2026-08-06 --limit 300 --json

I also reproduced it with --until 2026-08-07 and --until 2026-08-08.

Actual result

{"error":{"code":"API_ERROR","message":"HTTP 400: Bad Request"}}

Expected result

The command should return completed tasks for the requested date range, or a specific validation error explaining an unsupported range.

Comparison

Bounded ranges work. For example:

td completed list --since 2026-07-01 --until 2026-08-06 --limit 300 --json

returned results successfully (300 results, so pagination may also be relevant). A January-only range also returned successfully:

td completed list --since 2026-01-01 --until 2026-02-01 --limit 300 --json

Workaround

Querying month-sized ranges and aggregating the results works around the failure.

Could the CLI expose the underlying API validation error, and be explicit about the non-support the full requested range, or automatically paginate/split ranges when needed?

I ran this via an agent, so querying that large range returning that its not possible makes sense but the error was quite opaque.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions