Install

Cast is shipped as a single cast command that wraps a TypeScript CLI and a terminal UI. The CLI and the TUI always share the same version.

Prerequisites

You will also need an OpenRouter API key to actually run any agent — get one at openrouter.ai.

When the repository is public, the fastest path is:

curl -sL https://raw.githubusercontent.com/scott/castagent/main/install.sh | bash

This clones the repo, installs dependencies, builds the CLI and TUI, and creates a cast symlink in ~/.local/bin/.

Full install from a clone

If you prefer to see what is running, clone the repo and use the bundled install script:

git clone https://github.com/scott/castagent.git
cd castagent
./install.sh

install.sh is idempotent — re-run it after pulling new commits to update the build and the symlink.

Quick setup

If dependencies are already installed (e.g. inside a developer checkout):

./setup.sh
export PATH="$HOME/.local/bin:$PATH"
cast --version

Manual install

npm install
cd typescript/cast-cli && npm install && cd ../..
cd typescript/cast-tui && npm install && cd ../..
npm run build
mkdir -p ~/.local/bin
ln -sf "$(pwd)/cast" ~/.local/bin/cast
export PATH="$HOME/.local/bin:$PATH"

Verify the install

cast --version
cast list       # No agents yet — that's expected

If you see the version banner and an empty list, you’re ready for the quick start.

Updating

cd castagent
git pull
./install.sh

install.sh is idempotent and safe to re-run at any time. As of the latest version it will also clean up any stale binaries left over from older Cast installs (for example the pre-TypeScript Go binary that used to live at ~/.cast/bin/cast) so the freshly-built CLI always wins in your $PATH.

Troubleshooting

cast runs but reports “No agents found” even though ~/.cast/agents/ is populated.

This typically means an older cast binary is shadowing the new one in your $PATH. The most common culprit is a leftover binary at ~/.cast/bin/cast from a pre-TypeScript version of Cast. Check with:

which cast
file "$(which cast)"

If the result is a Mach-O/ELF executable (not a bash script), run ./install.sh from the project root — it will remove the stale binary and refresh the ~/.local/bin/cast symlink.

Uninstalling

rm -f ~/.local/bin/cast
rm -rf ~/.cast          # removes all agents, deploys, database, tokens