Installation
Requirements
Section titled “Requirements”- Node.js >= 22
Quick install
Section titled “Quick install”Clone the repository and run the interactive installer:
git clone https://github.com/dungle-scrubs/tallow.gitcd tallownpm installnpm run buildnode dist/install.jsThe installer walks you through:
- Scope — install everything or pick individual extension groups and themes.
- Extension groups — Core Tools, Agent & Delegation, Developer Tools, and UI & Experience. Each group can be enabled or disabled as a unit.
- Themes — choose which of the 34 built-in themes to include and pick a default.
- Global binary — optionally run
npm linkso thetallowcommand is available everywhere.
When finished the installer creates ~/.tallow/ with your
settings.json, a sessions/ directory, and an extensions/
directory for any custom extensions you add later.
Non-interactive install
Section titled “Non-interactive install”For CI, scripts, or quick rebuilds, pass --yes (or -y):
node dist/install.js --yesThis rebuilds from source, reinstalls the global binary, and
keeps all existing settings untouched. It requires an existing
~/.tallow/ directory — run the interactive installer at least
once first.
Upgrading
Section titled “Upgrading”If tallow is already installed, the installer detects it automatically and offers three options:
| Option | What it does |
|---|---|
| Upgrade in place | Rebuild and reinstall. All settings, sessions, auth, hooks, and packages are preserved. |
| Reconfigure | Re-run the extension/theme selection flow. Sessions, auth, hooks, and custom extensions are preserved. |
| Fresh install | Reset settings.json to defaults. Sessions, auth, hooks, and custom extensions are still preserved. |
You can also upgrade non-interactively:
cd /path/to/tallowgit pullnode dist/install.js --yesAfter installation
Section titled “After installation”# Verifytallow --version
# Run in any project directorytallowConfiguration
Section titled “Configuration”User configuration lives in ~/.tallow/. Project-local
configuration lives in .tallow/ within your project directory.
| Path | Purpose |
|---|---|
~/.tallow/settings.json | Global settings (theme, disabled extensions, packages) |
~/.tallow/auth.json | API keys for model providers |
~/.tallow/sessions/ | Conversation history |
~/.tallow/extensions/ | Custom user extensions |
~/.tallow/agents/ | Custom user agents |
~/.tallow/skills/ | Custom user skills |
~/.tallow/prompts/ | Custom user prompts/commands |
.tallow/settings.json | Project-local settings (deep-merged over global) |
.tallow/extensions/ | Project-local extensions |
.tallow/agents/ | Project-local agents |
.tallow/skills/ | Project-local skills |
.tallow/prompts/ | Project-local prompts/commands |
CLI reference
Section titled “CLI reference”tallow Interactive modetallow -p "Fix the tests" Single-shot print modetallow --continue Continue most recent sessiontallow --list List available sessionstallow --model claude-sonnet Use a specific modeltallow --thinking high Set thinking leveltallow --no-session In-memory only (no persistence)tallow --no-extensions Disable all extensionstallow -e ./my-ext Load additional extensiontallow --mode rpc RPC mode (for external integrations)tallow --home Print the tallow home directorytallow install Run the interactive installer