Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!


BitBucket CLI

A command-line helper for BitBucket. This program is inspired Chris Wanstrath's wonderful github command-line program, and aims to expose a similar interface for BitBucket users.


pip install bitbucket-cli


The BitBucket CLI can be involked with either bitbucket or the shortened bb command:

bitbucket <command> [options]


bb <command> [options]

Most bitbucket commands take some or all of the following options:

-h, --help                        show this help message and exit
-u USERNAME, --username=USERNAME  your bitbucket username
-p PASSWORD, --password=PASSWORD  your bitbucket password
-o, --public                      make this repo public
-c, --private                     make this repo private
-P PROTOCOL, --protocol=PROTOCOL  which network protocol to use (https|ssh)

For help with any command:

bb <command> --help

Available Commands & Examples

clone an existing BitBucket repository:

...  bb clone --username <your-user-name> --protocol ssh zhemao bitbucket-cli

pull a BitBucket repository:

...  bb pull <owner-name> <repo-name>

create a new BitBucket repository:

...  bb create --username <your-user-name> --public --protocol ssh <new-repo-name>

Creating a new BitBucket repository from an existing local repository is easy with create_from_local:

...  bb create_from_local --username <your-user-name> --public --protocol ssh <repo-owner> <repo-name>

update a BitBucket repository. Currently the only option is to change whether a repository is public or private. This example will make the repository private:

...  bb update --username <user-name> --private <repo-name>

delete one of your BitBucket repository:

...  bb delete --username <your-user-name> <repo-name>

For the clone, pull, and create_from_local commands, the scm (either git or hg) will be detected from bitbucket or your local filesystem. Explicitly declaring the scm on the command line or from the user configuration will not override it.


You can create a configuration file in ~/.bitbucket that follows the following format

username = <Your Username>
password = <Your Password>

scm = <'git' or 'hg'>
protocol = <'https' or 'ssh'>

It will provide default options which can be overridden on the command line.

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.