---
title: basecamp
homepage: https://github.com/basecamp/basecamp-cli
tagline: |
  basecamp: CLI for Basecamp 3 — manage projects, todos, messages, cards, and more from the terminal.
---

To update or switch versions, run `webi basecamp@stable` (or `@v0.7`,
`@beta`, etc).

### Files

These are the files / directories that are created and/or modified with this
install:

```text
~/.config/envman/PATH.env
~/.local/bin/basecamp
~/.local/opt/basecamp-VERSION/bin/basecamp
~/.local/opt/basecamp-VERSION/completions/
```

## Cheat Sheet

> `basecamp` is the official CLI for Basecamp 3. It provides full API coverage
> for projects, todos, messages, cards, schedule, files, and more — all from the
> command line.

### How to authenticate

```sh
basecamp auth login
```

For headless environments (CI, remote servers):

```sh
basecamp auth login --device-code
```

Check auth status:

```sh
basecamp auth status
```

### How to list projects and todos

```sh
basecamp projects list --md

basecamp todos list --assignee me --in PROJECT_ID --md
```

Cross-project view of your assigned work:

```sh
basecamp assignments --md
```

### How to create and complete todos

```sh
basecamp todo "Write release notes" --in PROJECT_ID --list TODOLIST_ID --assignee me --due tomorrow

basecamp done TODO_ID
```

### How to post a message or comment

```sh
basecamp message "Sprint Update" "Shipped v2.1 to production." --in PROJECT_ID

basecamp comment RECORDING_ID "Looks good." --in PROJECT_ID
```

### How to move cards through a workflow

```sh
basecamp cards columns --in PROJECT_ID --md

basecamp cards move CARD_ID --to COLUMN_ID --in PROJECT_ID
```

### How to set up per-project defaults

Create `.basecamp/config.json` in your repo (commit it):

```json
{
  "project_id": "12345",
  "todolist_id": "67890"
}
```

Then trust it once:

```sh
basecamp config trust
```

After that, you can omit `--in` for most commands in that repo.

### Shell completions

Completions for bash, fish, and zsh ship with the installer. Find them at:

```text
~/.local/opt/basecamp-VERSION/completions/
```

Bash:

```sh
echo "source ~/.local/opt/basecamp-VERSION/completions/basecamp.bash" >> ~/.bashrc
```

Fish:

```sh
ln -s ~/.local/opt/basecamp-VERSION/completions/basecamp.fish ~/.config/fish/completions/
```

Zsh:

```sh
echo "fpath+=( ~/.local/opt/basecamp-VERSION/completions )" >> ~/.zshrc
```
