gitbutlerapp/gitbutler · error
At least one review number is required
Error message
At least one review number is required
What it means
The MCP review-card tool handler review_view_for_request (crates/but/src/command/mcp/mod.rs:719) rejects an empty `review_numbers` array before doing any repository work. At least one review/PR number is required to build a review view.
Source
Thrown at crates/but/src/command/mcp/mod.rs:719
last_updated_at,
commits: commits.len(),
is_conflicted,
};
Ok(BranchDetailsView {
kind: "branch",
repository: resolved.repository,
target,
details,
})
}
async fn review_view_for_request(
request: ReviewCardRequest,
context: RequestContext<RoleServer>,
) -> Result<ReviewView> {
if request.review_numbers.is_empty() {
bail!("At least one review number is required");
}
let resolved = resolve_repository(request.repository, context).await?;
review_view_from_repository(resolved, &request.review_numbers)
}
fn review_view(repository: &Path, review_numbers: &[usize]) -> Result<ReviewView> {
let resolved = open_repository(repository)?;
review_view_from_repository(resolved, review_numbers)
}
fn refresh_reviews(request: RefreshReviewsRequest) -> Result<ReviewView> {
if request.review_numbers.is_empty() {
bail!("At least one review number is required");
}
review_view(&request.repository, &request.review_numbers)
}
fn review_view_from_repository(View on GitHub (pinned to caf1f223d3)
Solutions
- Pass one or more review numbers, e.g. review_numbers: [12].
- If numbers are unknown, use the review-listing tool first to discover them.
- Validate the array is non-empty before issuing the tool call.
Example fix
// before
{ "review_numbers": [] }
// after
{ "review_numbers": [12] } Defensive patterns
Strategy: validation
Validate before calling
if request.review_numbers.is_empty() {
anyhow::bail!("review_numbers must contain at least one review number");
} Prevention
- Always populate review_numbers; list reviews first when numbers are unknown.
- Validate tool arguments client-side before invoking MCP tools.
- Do not default missing arrays to empty when templating calls.
When it happens
Trigger: Calling the review-card MCP tool with review_numbers: [] or with the field defaulted to an empty array by the client.
Common situations: Templated tool calls that omit the field; clients that default missing arrays to empty; agents calling the tool before listing reviews.
Related errors
- The updated review was missing from the response.
- {}{} is not open and cannot be marked ready
- Marking reviews ready is not supported for {:?}
- Invalid message format
- HTTP Error ${response.statusText}: ${text}
AI-assisted analysis of gitbutlerapp/gitbutler@caf1f223d3 (2026-08-20).
Data as JSON: /api/errors/f7fb1035eaccd511.
Report an issue: GitHub.