basecamp v0.4.0
--subject renamed to --title on message shortcut.
Attachment support, accounts, and a pile of fixes.
attach,upload, and--attach: upload files and reference them inline as native Basecamp attachments, including images.trash,archive,restore: manage recording lifecycle from the CLI.basecamp accounts: list and switch between accounts.--completedshorthand ontodos listto filter completed todos.basecamp apinow has examples for every subcommand.- Fix auth token refresh, pagination gaps in project/todolist resolution, and several help-system edge cases.
Install
macOS:
brew install --cask basecamp/tap/basecamp
basecamp auth loginLinux (deb/rpm/apk):
Download the package for your architecture from the assets below, then:
sudo apt install ./basecamp-cli_0.4.0_linux_amd64.deb # Debian/Ubuntu
sudo dnf install ./basecamp-cli_0.4.0_linux_amd64.rpm # Fedora/RHEL
sudo apk add --allow-untrusted ./basecamp-cli_0.4.0_linux_amd64.apk # Alpine
basecamp auth loginArm64 users: substitute arm64 for amd64 in the filename. Verify the SHA-256 checksum from checksums.txt before installing — especially Alpine packages installed with --allow-untrusted.
Arch Linux / Omarchy:
yay -S basecamp-cli
basecamp auth loginNix:
nix profile install github:basecamp/basecamp-cli
basecamp auth loginWindows:
scoop bucket add basecamp https://github.com/basecamp/homebrew-tap
scoop install basecamp
basecamp auth loginOther platforms: download the matching archive from the assets below.
What's Changed
⚠️ Breaking Changes
- Fix scope selection misleading Launchpad users by @jeremy in #232
- Rename subject variable to title in message shortcut by @jeremy in #246
Features
- Remove PGO from release workflow by @jeremy in #233
- Structured missing-arg errors for agent elicitation by @jeremy in #235
- Add bin/ci and skill drift check by @jeremy in #236
- Structured positional-arg metadata in help system by @jeremy in #240
- Bump picker and list visible limits from 10 to 20 by @jeremy in #245
- Add examples to api command and subcommands by @jeremy in #244
- Add --completed shorthand flag to todos list by @jeremy in #258
- Add recordable trash, archive, and restore subcommands by @jeremy in #259
- Improve message board selection help text by @jeremy in #260
- Add accounts command and improve account selection UX by @jeremy in #261
- Add message presenter schema by @jeremy in #256
- Track skill version and auto-refresh after upgrade by @jeremy in #265
- Add attachment support: attach, upload, --attach, inline images by @jeremy in #242
- Polish boost display and copy by @jeremy in #262
- Upgrade basecamp-sdk to v0.4.0 by @jeremy in #266
- Style kanban boost label and deduplicate boostLabel helper by @jeremy in #267
Bug Fixes
- Fix review followups from #235 by @jeremy in #237
- Fix pagination gaps in config project and todolist resolver by @jeremy in #241
- Distinguish disabled tools from missing tools in errors by @jeremy in #247
- Collapse multiline text in table cells by @jeremy in #251
- Surface error details in todo complete/reopen by @jeremy in #252
- Fix auth token refresh by passing client credentials by @jeremy in #254
- Refetch full content for generic show recordings by @jeremy in #255
- Fix MarkFlagRequired rejecting alias flags by @jeremy in #248
- Fix campfire output: typed slice and campfire_line schema by @jeremy in #253
- Pad list widget output to allocated height by @jeremy in #263
- Fix sync-skills workflow permissions by @jeremy in #264
- Register --in/--project flags on comments commands by @jeremy in #249
- Reject whitespace-only content in mutation commands by @robzolkos in #238
Other Changes
- Skill evals system by @jeremy in #239
- Surface dock tools, app URLs, and project IDs in presenter output by @jeremy in #257
Full Changelog: v0.3.1...v0.4.0