list_comments
List comments in a workspace. Filter by target_type (row, cell, doc_range, html_element, surface, workspace), target_id, surface (returns every comment anchored to any element of one surface, useful for 'open threads on this tab'), status (open | resolved | all, default open), mentioning_me: true for comments that @-mention the caller, or author: <principalId> for comments by a specific user/agent. Returns up to 200 comments per call ordered by createdAt asc, with surfaceSlug denormalized for doc_range/html_element/surface targets so reply paths work even across archive boundaries. Use get_comment_thread to pull a single comment plus its replies + reactions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The workspace slug. | |
| limit | No | Max results (1-200, default 50). | |
| author | No | Filter by author principal id. Useful for 'comments by Argus on this workspace' agent loops. | |
| offset | No | Number of comments to skip for pagination. | |
| status | No | Resolution state filter. Default `open`. | |
| surface | No | Surface slug filter. Returns every comment anchored anywhere inside this surface (doc_range / html_element / surface scope, plus row + cell comments on rows that live on the surface). 404 silently if the surface is archived (returns empty list). | |
| target_id | No | Filter by exact target id. For cells the id is `<rowId>:<columnKey>`; for doc_range/html_element/surface it's the Surface cuid. Combine with target_type for unambiguous filtering. | |
| target_type | No | Filter by comment target type. | |
| mentioning_me | No | When true, only return comments that @-mention the calling principal. Equivalent to REST `?mentioning=me`. |