# info > BTS

---
type: CommandReference
command: bts
mode: man
section: 1
source: man-pages
---

## Quick Reference

- `bts show <bug>` — Display bug in browser (or `bts bugs`)
- `bts done <bug> [version]` — Mark bug as done
- `bts severity <bug> <severity>` — Change bug severity
- `bts merge <bug> <bug> [...]` — Merge bugs
- `bts retitle <bug> <title>` — Change bug title
- `bts tags <bug> [+|-|=] <tag> [...]` — Set or unset tags
- `bts select <key>:<value> [...]` — Select bugs via SOAP
- `bts cache [package|maintainer]` — Cache bug reports for offline use

## Name

bts — developers' command line interface to the Debian Bug Tracking System

## Synopsis

`bts [options] command [args] [#comment] [.|, command [args] [#comment]] ...`

## Options

### General
- `-o, --offline` — Use cached bugs for show/bugs commands.
- `--online, --no-offline` — Override offline mode.
- `-n, --no-action` — Print emails to stdout instead of sending.
- `--cache, --no-cache` — Enable/disable caching of BTS pages (default: cache).
- `--cache-mode={min|mbox|full}` — How much to cache (default: min).
- `--cache-delay=seconds` — Delay between downloads (default: 5).
- `--mbox` — Open mail reader for mbox of a bug.
- `--mailreader=READER` — Command to read mbox (default: `mutt -f %s`).
- `-f, --force-refresh` — Download even if unchanged.
- `--no-force-refresh` — Suppress force-refresh config.
- `--only-new` — Only download new bugs when caching.
- `--include-resolved` — Include resolved bugs in cache (default).
- `--no-include-resolved` — Exclude resolved bugs.
- `--no-ack` — Suppress acknowledgment mails from BTS.
- `--ack` — Do not suppress acknowledgments (default).
- `-i, --interactive` — Display and edit email before sending.
- `--force-interactive` — Spawn editor before confirmation.
- `--no-interactive` — Send without confirmation (default).
- `-q, --quiet` — Suppress cache messages; use twice for errors only.
- `--no-conf, --noconf` — Do not read configuration files (must be first option).

### Mail sending
- `--cc-addr=CC_EMAIL_ADDRESS` — Add CC recipients (comma-separated; multiple allowed).
- `--use-default-cc` — Add addresses from `BTS_DEFAULT_CC` (default).
- `--no-use-default-cc` — Do not use default CC.
- `--sendmail=SENDMAILCMD` — Sendmail command (default: `/usr/sbin/sendmail`).
- `--mutt` — Use mutt for sending mails.
- `--no-mutt` — Do not use mutt.
- `--soap-timeout=SECONDS` — Timeout for SOAP calls.
- `--smtp-host=SMTPHOST` — SMTP server (port optional, supports SMTPS).
- `--smtp-username=USERNAME` — SMTP auth username.
- `--smtp-password=PASSWORD` — SMTP auth password (prompt if omitted).
- `--smtp-helo=HELO` — HELO name (default: `/etc/mailname`).
- `--bts-server` — Use alternate debbugs server (default: `https://bugs.debian.org`).

## Commands

### Viewing
- `show [options] [bug_number | package | maintainer | :] [opt=val ...]` — Display bug listing in browser. Also accepts `src:package`, `from:submitter`, `tag:tag`, `usertag:tag`, `release-critical`, `RC`. Options: `-o/--offline`, `--mbox`, `--mailreader`, `--[no-]cache`.
- `bugs [options] [...]` — Synonym for `show`.
- `select [key:value ...]` — SOAP-based bug selection. Keys: `package`, `source`, `maintainer`, `submitter`, `severity`, `status`, `tag`, `owner`, `correspondent`, `affects`, `bugs`, `users`, `archive` (default: 0).
- `status [bug | file:file | fields:field[,field ...] | verbose] ...` — SOAP-based status output. Default: all populated fields. `verbose` shows empty fields. `fields` restricts output.

### Control
- `clone bug new_ID [new_ID ...]` — Duplicate bug report. New IDs are negative numbers.
- `done bug [version]` — Mark bug as done (forces interactive mode).
- `reopen bug [submitter]` — Reopen a bug with optional submitter.
- `archive bug` — Archive a bug that meets requirements.
- `unarchive bug` — Unarchive a bug.
- `retitle bug title` — Change bug title.
- `summary bug [messagenum]` — Set summary message; clear if no number.
- `submitter bug [bug ...] submitter-email` — Change submitter address. `!` means use current email.
- `reassign bug [bug ...] package [version]` — Reassign to package.
- `found bug [version]` — Mark bug found in version. Without version, clear fixed versions and reopen.
- `notfound bug version` — Remove found record for version.
- `fixed bug version` — Mark fixed in version (does not affect open/closed status).
- `notfixed bug version` — Remove fixed record for version.
- `block bug by|with bug [bug ...]` — Mark bug as blocked.
- `unblock bug by|with bug [bug ...]` — Unblock bug.
- `merge bug bug [bug ...]` — Merge bugs.
- `forcemerge bug bug [bug ...]` — Force merge (first bug is master).
- `unmerge bug` — Unmerge bug.
- `tag bug [+|-|=] tag [tag ...]` — Set/unset tags. `tags` is synonym. `=` removes all tags. Valid tags: patch, wontfix, moreinfo, unreproducible, fixed, help, security, upstream, pending, d-i, confirmed, ipv6, lfs, fixed-upstream, l10n, newcomer, a11y, ftbfs, plus release tags.
- `affects bug [+|-|=] package [package ...]` — Indicate bug affects other packages. `=` removes all.
- `user email` — Set user for usertags.
- `usertag bug [+|-|=] tag [tag ...]` — Set/unset user tags. `usertags` is synonym. `=` removes all.
- `claim bug [claim]` — Claim a bug (default: DEBEMAIL/EMAIL).
- `unclaim bug [claim]` — Remove claim.
- `severity bug severity` — Change severity (wishlist, minor, normal, important, serious, grave, critical; may abbreviate).
- `forwarded bug address` — Mark as forwarded to upstream.
- `notforwarded bug` — Mark as not forwarded.
- `package [package ...]` — Limit subsequent commands to given packages. No packages disables.
- `limit [key[:value]] ...` — Limit subsequent commands by criteria (submitter, date, subject, msgid, package, source, tag, severity, owner, affects, archive). Values can be multiple.
- `owner bug owner-email` — Set owner. `!` uses current email.
- `noowner bug` — Remove owner.
- `subscribe bug [email]` — Subscribe to bug (default: DEBEMAIL/EMAIL). Requires confirmation.
- `unsubscribe bug [email]` — Unsubscribe from bug.
- `reportspam bug ...` — Report bug as spam.
- `spamreport bug ...` — Synonym for reportspam.

### Cache management
- `cache [options] [maint_email | pkg | src:pkg | from:submitter | release-critical | RC]` — Generate/update cache. Default: DEBEMAIL/EMAIL. Options: `--cache-mode`, `--force-refresh`, `--include-resolved`, `-q`. Stored in `$XDG_CACHE_HOME/devscripts/bts/` or `~/.cache/devscripts/bts/`.
- `cleancache package | src:package | maintainer | from:submitter | tag:tag | usertag:tag | number | ALL` — Clean cache for specified item or all.
- `listcachedbugs [number]` — List cached bug IDs (optional prefix match).
- `version` — Display version and copyright.
- `help` — Display short summary.

## Examples

shell
# Change severity of bug 69042 to normal
bts severity 69042 normal

# Merge bugs 69042 and 43233
bts merge 69042 43233

# Retitle a bug
bts retitle 69042 "blah blah"

# Abbreviate command: "cl" for "clone"
bts cl 85942

# Multiple commands in one mail
bts severity 95672 normal , merge 95672 95673 \#comment

# Use "it" for last bug number
bts severity 95672 wishlist , retitle it "new title"

# Remove all tags from a bug
bts tags 12345 =

# Select bugs by submitter and tag
bts select submitter:jrandom@example.com tag:wontfix

# Show bug in browser with offline cache
bts -o show 12345

# Cache bugs for a package
bts cache foo-package
## See Also

- [BTS server control documentation](https://www.debian.org/Bugs/server-control)
- [BTS general information](https://www.debian.org/Bugs/)
- [querybts(1)](https://manpages.debian.org/querybts.1)
- [reportbug(1)](https://manpages.debian.org/reportbug.1)
- [pts-subscribe(1)](https://manpages.debian.org/pts-subscribe.1)
- [devscripts.conf(5)](https://manpages.debian.org/devscripts.conf.5)