Terminal / 5 MIN READ
A terminal task manager for the same projects you use in your browser
Install the BranchFirst terminal client on Windows, macOS, or Linux, sign in through your browser, and manage task trees with a practical CLI workflow.
If you already work in a shell, a terminal task manager gives your project plan a place beside that work. BranchFirst has an interactive terminal client that opens the projects associated with your account. You can edit task trees, star next steps, and complete work with familiar keyboard commands, then return to the same account in the browser. Here is how to get started and what to expect.
Install the terminal client
BranchFirst distributes a self-contained binary, so the installed terminal app does not require a separate Node.js runtime. The installer selects a release for your supported platform, downloads it, verifies its checksum, and adds the installation directory to your user PATH. The available builds cover Windows x64, macOS Intel and Apple Silicon, and Linux x64 and ARM64 with glibc.
On Windows, run the installation command in PowerShell:
irm https://branchfirst.com/install.ps1 | iexOn macOS or Linux, run:
curl -fsSL https://branchfirst.com/install.sh | shThese commands download and execute the installation script. You can open the script URL first to review what it does. Installation uses your user directories and does not need an administrator or sudo. Open a new terminal window if your current shell does not recognize the command after installation. Git Bash on Windows uses the same installed executable through PATH.
Connect it to your BranchFirst account
branchfirst
branchfirst --helpThe first run starts browser-based sign-in. The terminal shows a confirmation code and opens the BranchFirst authorization page in your browser. Approve the request there to connect the client to your account. You can also run ‘branchfirst login’ explicitly; ‘branchfirst login --paste’ provides a fallback when opening the browser automatically is inconvenient.
The client stores an authentication token in its settings directory. Treat that directory as account data when sharing a computer or copying configuration files. Run ‘branchfirst logout’ to forget the local token. The terminal client needs an account for this workflow; the browser app also has a local mode that can be used without creating one. Check the pricing page for current Sync availability and access terms.
Run a small project session
Suppose you are working on a release. Choose its project with the corresponding number key, select ‘Check installation instructions,’ and press Enter if its name needs more detail. Add a follow-up with n when you discover a missing step. Use Tab and Shift+Tab to put the follow-up at the right level in the tree. You are editing the project itself, so there is no separate terminal checklist to reconcile afterward.
- Press ? to open the shortcut menu when you need a reminder.
- Use s to star a next action, then 0 to open the cross-project MINS view.
- Use / to fold a branch when you want to reduce the visible detail.
- Press Space to complete a task; Ctrl+Z can undo an action.
- Press q to quit the interactive client.
The terminal receives the keys your terminal application passes through. Some combinations have their own shell or terminal behavior. If branch movement is intercepted, consult ? for alternatives rather than assuming the app received the shortcut. Begin with simple navigation and editing, then expand the routine once it fits your terminal setup.
Understand how changes reach the browser
The client sends edits to the account's state API shortly after a change and checks for remote changes while idle. If the server has a newer revision, the client replays its pending edits against that newer copy before trying to save again. This supports moving between the browser and terminal without manually exporting a task list. It still needs a working connection for account synchronization; do not treat an interrupted connection as confirmation that an edit has reached another device.
Keep the client current
branchfirst updateThe installed app checks for a newer release in the background at most once a day and shows an update notice when one is available. It does not update itself automatically. Run the update command when you are ready, or run the installation command again. Set BRANCHFIRST_NO_UPDATE_CHECK=1 if you want to disable the background check. Your first goal can stay small: open one real project, finish one next step, and confirm the result in your browser.