Skip to content

Getting Started

Prerequisites

  • Node.js >= 22 (for npm/yarn/pnpm/bun install methods)
  • A Bluesky account

Installation

npm install -g @harveyrandall/bsky-cli
yarn global add @harveyrandall/bsky-cli
pnpm add -g @harveyrandall/bsky-cli
bun add -g @harveyrandall/bsky-cli
brew install harveyrandall/tools/bsky-cli
curl -fsSL https://raw.githubusercontent.com/harveyrandall/bsky-cli/main/install.sh | sh

Download a standalone binary for your platform from GitHub Releases, extract it, and move bsky to a directory on your PATH.

Verify the installation:

bsky --version

Authentication

Log in with an app password

Tip

Use an app password instead of your main password. App passwords can be revoked individually and don't grant full account access.

bsky login alice.bsky.social
# Enter your app password at the prompt (input is hidden)

Or pass the password directly:

bsky login alice.bsky.social my-app-password

Your first commands

Read your timeline:

bsky tl

Post a message:

bsky post "Hello from bsky-cli!"

View your profile:

bsky profile

Search for posts:

bsky search "bluesky cli"

JSON output

Every command supports --json for structured output:

bsky tl --json | jq '.[0].post.record.text'

Multiple accounts

Use named profiles to switch between accounts:

bsky login alice.bsky.social -p personal
bsky login bob.bsky.social -p work

bsky tl -p personal
bsky tl -p work

List all profiles:

bsky -p ? tl

Next steps