Comments
Manage pull request comments.
Global options available on all PR commands: --json [fields], --jq <expression>, --no-color, -w, --workspace, -r, --repo.
Every bb pr comments subcommand accepts those globals. They work the same everywhere, so the per-command examples below leave them out:
# Target a repository other than the one you are standing inbb pr comments list 42 -w myworkspace -r myrepo
# Machine-readable outputbb pr comments list 42 --jsonview, edit, reply, resolve, and unresolve have no options of their own — only the globals.
bb pr comments
Section titled “bb pr comments”Subcommands
Section titled “Subcommands”| Subcommand | Description |
|---|---|
list <id> |
List comments on a pull request |
add <id> <message> |
Add a comment to a pull request |
view <pr-id> <comment-id> |
View a single comment on a pull request |
edit <pr-id> <comment-id> <message> |
Edit a comment on a pull request |
reply <pr-id> <comment-id> <message> |
Reply to a comment on a pull request |
resolve <pr-id> <comment-id> |
Resolve a comment thread on a pull request |
unresolve <pr-id> <comment-id> |
Reopen a resolved comment thread on a pull request |
delete <pr-id> <comment-id> |
Delete a comment on a pull request |
bb pr comments list
Section titled “bb pr comments list”List comments on a pull request.
bb pr comments list <id> [options]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
id |
Pull request ID |
Options
Section titled “Options”| Option | Description | Default |
|---|---|---|
--limit <number> |
Maximum number of comments | 25 |
--all |
List all comments (overrides --limit) |
|
--resolved |
Only show resolved comments | |
--unresolved |
Only show unresolved comments | |
--no-truncate |
Global flag. Show full comment content without truncation |
Examples
Section titled “Examples”# List comments on PR #42bb pr comments list 42
# Only comments that still need attentionbb pr comments list 42 --unresolved
# List more commentsbb pr comments list 42 --limit 50
# List every commentbb pr comments list 42 --all
# Show full comment content (not truncated)bb pr comments list 42 --no-truncateOutput:
ID Author Content Status Date--------- -------- ------------------------------- -------- ------------------------486512301 Jane Doe Consider renaming this variable resolved Jul 28, 2026 at 11:14 AM486512477 Sam Ali Good catch, fixed. open Jul 28, 2026 at 12:02 PM486513002 Jane Doe Why was this removed? open Jul 29, 2026 at 10:41 AM- Comment content is truncated to 60 characters in the table view. Use
--no-truncatefor the full text - The
Statuscolumn showsresolved,pending, oropen. Bitbucket records resolution on the comment that was resolved, so a reply inside a resolved thread showsopen(orpendingif it is an unpublished draft) --resolvedand--unresolvedfilter on the same resolution state and cannot be combined- With
--resolved/--unresolvedthe filter is applied client-side after each page is fetched, so--limitcounts comments that survive the filter —--unresolved --limit 25keeps fetching pages until 25 unresolved comments are found or the list is exhausted - When the result is capped by
--limit, a hint shows how many were listed; use a higher--limitor--allto see the rest (suppressed with--json)
bb pr comments add
Section titled “bb pr comments add”Add a general comment, or an inline comment anchored to a file line.
bb pr comments add <id> <message> [options]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
id |
Pull request ID |
message |
Comment message |
Options
Section titled “Options”| Option | Description |
|---|---|
--file <path> |
File path for an inline comment (requires --line-to and/or --line-from) |
--line-to <number> |
Line number in the new version of the file (requires --file) |
--line-from <number> |
Line number in the old version of the file (requires --file) |
Examples
Section titled “Examples”# Add a general comment to PR #42bb pr comments add 42 "LGTM! This looks great."
# Inline comment on a line in the new filebb pr comments add 42 "Consider renaming this variable" --file src/index.ts --line-to 15
# Inline comment on a line in the old (removed) version of the filebb pr comments add 42 "Why was this removed?" --file src/utils.ts --line-from 10
# Inline comment spanning old and new linesbb pr comments add 42 "This logic changed" --file src/app.ts --line-from 5 --line-to 8--fileis required when using--line-toor--line-from- At least one of
--line-toor--line-fromis required when using--file - Line numbers must be positive integers
bb pr comments view
Section titled “bb pr comments view”View a single comment, including whether it is resolved.
bb pr comments view <pr-id> <comment-id>Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
pr-id |
Pull request ID |
comment-id |
Comment ID |
Examples
Section titled “Examples”# View comment #486512301 on PR #42bb pr comments view 42 486512301- The header shows
[resolved]or[unresolved]for that specific comment. Bitbucket records the resolution on the comment that was resolved, so a reply inside a resolved thread still shows[unresolved] - Unpublished draft review comments show
[pending]instead - Deleted comments render their content as
[deleted] --jsonprints the raw comment object returned by the API
bb pr comments edit
Section titled “bb pr comments edit”Edit a comment on a pull request.
bb pr comments edit <pr-id> <comment-id> <message>Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
pr-id |
Pull request ID |
comment-id |
Comment ID |
message |
New comment message |
Examples
Section titled “Examples”# Replace the body of comment #486512301 on PR #42bb pr comments edit 42 486512301 "Updated: I noticed something else..."bb pr comments reply
Section titled “bb pr comments reply”Reply to an existing comment. The reply is attached to the parent comment, so it lands in the same thread.
bb pr comments reply <pr-id> <comment-id> <message>Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
pr-id |
Pull request ID |
comment-id |
ID of the comment to reply to |
message |
Reply message |
Examples
Section titled “Examples”# Reply to comment #486512301 on PR #42bb pr comments reply 42 486512301 "Good catch, fixed."- Use
bb pr comments list <id>to find the comment ID to reply to - How Bitbucket anchors a reply to an inline comment is decided server-side
bb pr comments resolve
Section titled “bb pr comments resolve”Resolve a comment thread on a pull request.
bb pr comments resolve <pr-id> <comment-id>Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
pr-id |
Pull request ID |
comment-id |
Comment ID |
Examples
Section titled “Examples”# Resolve comment thread #486512301 on PR #42bb pr comments resolve 42 486512301- Resolving is reversible with
bb pr comments unresolve --jsonreturns{ success, pullRequestId, commentId, resolution }; the API returns the resolution record, not the full comment — usebb pr comments viewto read the comment back
bb pr comments unresolve
Section titled “bb pr comments unresolve”Reopen a resolved comment thread on a pull request.
bb pr comments unresolve <pr-id> <comment-id>Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
pr-id |
Pull request ID |
comment-id |
Comment ID |
Examples
Section titled “Examples”# Reopen comment thread #486512301 on PR #42bb pr comments unresolve 42 486512301- The API returns no body, so
--jsonreports only{ success, pullRequestId, commentId }
bb pr comments delete
Section titled “bb pr comments delete”Delete a comment from a pull request. --yes is required.
bb pr comments delete <pr-id> <comment-id> [options]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
pr-id |
Pull request ID |
comment-id |
Comment ID |
Options
Section titled “Options”| Option | Description |
|---|---|
-y, --yes |
Confirm deletion (required) |
Examples
Section titled “Examples”# Delete comment #486512301 from PR #42bb pr comments delete 42 486512301 --yesbb pr comments deletenever prompts. Without--yesit exits with a validation error ending inUse --yes to confirm.- Deleting a comment is permanent and cannot be undone