
This is the official command line tool for Boot.dev. It allows you to submit lessons and do other such nonsense.
⭐ Hit the repo with a star if you're enjoying Boot.dev ⭐
To use the Boot.dev CLI, you need an up-to-date Golang toolchain installed on your system.
Please note, the overwhelming majority of our courses that use this CLI are designed to be completed on Linux or macOS – or on Linux-in-Windows via WSL. If you're on Windows, usually what you'll want is to go into WSL and follow Linux installation instructions. However, we now have at least one course that is Windows-native. So there are also Windows/PowerShell installation instructions below. Just be aware of which platform you're actually using!
There are two main installation methods that we recommend:
Option 1 (Linux/WSL/macOS): The Webi installer is the simplest way for most people. Just run this in your terminal:
curl -sS https://webi.sh/golang | sh
Read the output of the command and follow any instructions.
Option 2 (any platform, including Windows/PowerShell): Use the official Golang installation instructions. On Windows, this means downloading and running a .msi installer package; the rest should be taken care of automatically.
After installing Golang, open a new shell session and run go version to make sure everything works. If it does, move on to step 2.
Optional troubleshooting:
which go to find out where it's installed, and (if needed) remove the old version manually. (In PowerShell on Windows, the equivalent is Get-Command go.)go program isn't in your PATH. You need to add the directory to your PATH by modifying your shell's configuration file. First, you need to know where the go command was installed. It might be in:~/.local/opt/go/bin (Webi)/usr/local/go/bin (official installation)You can ensure that the program exists by attempting to run go using its full filepath. For example, if you think it's in ~/.local/opt/go/bin, you can run ~/.local/opt/go/bin/go version. If that works, then you just need to add ~/.local/opt/go/bin to your PATH and reload your shell:
sh
# For Linux/WSL
echo 'export PATH=$PATH:$HOME/.local/opt/go/bin' >> ~/.bashrc
# Next, reload your shell configuration
source ~/.bashrc
sh
# For macOS
echo 'export PATH=$PATH:$HOME/.local/opt/go/bin' >> ~/.zshrc
# Next, reload your shell configuration
source ~/.zshrc
sh
# For fish
fish_add_path $HOME/.local/opt/go/bin
The following command will download, build, and install the bootdev command into your Go toolchain's bin directory. Go ahead and run it:
go install github.com/bootdotdev/bootdev@latest
Run bootdev --version on your command line to make sure the installation worked. If it did, move on to step 3.
Optional troubleshooting:
If you're getting a "command not found" error for bootdev, it's likely because the directory containing the bootdev program isn't in your PATH. You need to add the directory to PATH by modifying your shell's configuration file. In most cases, this means adding $HOME/go/bin (the default GOBIN directory where go installs programs):
# For Linux/WSL
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc
# Next, reload your shell configuration
source ~/.bashrc
# For macOS
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.zshrc
# Next, reload your shell configuration
source ~/.zshrc
# For fish
fish_add_path $HOME/go/bin
Run bootdev login to authenticate with your Boot.dev account. After authenticating, you're ready to go!
The Boot.dev CLI offers a couple of configuration options that are stored in a config file (default is ~/.bootdev.yaml, or $XDG_CONFIG_HOME/bootdev/config.yaml if XDG_CONFIG_HOME is set).
All commands have -h/--help flags if you want to see available options on the command line.
For lessons with HTTP tests, you can configure the CLI with a base URL that overrides any lesson's default. A common use case for that is when you want to run your server on a port other than the one specified in the lesson.
sh
bootdev config base_url YOUR_URL
Make sure you include the protocol scheme (http://) in the URL.
sh
bootdev config base_url
sh
bootdev config base_url --reset
The CLI text output is rendered with extra colors: green (e.g., success messages), red (e.g., error messages), and gray (e.g., secondary text).
sh
bootdev config colors --red VALUE --green VALUE --gray VALUE
You can use an ANSI color code or a hex string as the VALUE.
sh
bootdev config colors
sh
bootdev config colors --reset
If you want to undo changes to your configuration, simply remove it to reset it completely. The CLI will automatically create a fresh config file in the original location. Then login again.
If you just installed the CLI, it's already upgraded!
The Boot.dev CLI is regularly updated to enhance and expand its features and integration with the web app.
The CLI automatically detects new versions and will require you to upgrade it before submitting or logging in.
To upgrade, run:
bootdev upgrade
or use go install with the latest tagged version:
go install github.com/bootdotdev/bootdev@v1.XX.X
If you keep getting the same upgrade message, you may be pulling from an old cache.
GOPROXY=direct go install github.com/bootdotdev/bootdev@v1.XX.X
If that doesn't work, try a fresh install:
sh
which bootdev
sh
rm "$(which bootdev)"
sh
which bootdev
Repeat the steps you used to install the CLI. See Installation. Then login again.
$ claude mcp add bootdev \
-- python -m otcore.mcp_server <graph>