Skip to main content

Configuration

Config file: ~/.config/sprout/config.toml (override with SPROUT_CONFIG).

Options

OptionTypeDefaultEnvDescription
base_branchstringdevSPROUT_BASE_BRANCHDefault base branch for sprout new
worktree_root_templatestring../{repo}.worktreesSPROUT_WORKTREE_ROOT_TEMPLATEWorktree directory template
auto_launchbooltrueSPROUT_AUTO_LAUNCHAuto-launch tmux on new worktree
auto_start_agentbooltrueSPROUT_AUTO_START_AGENTAuto-start agent on new worktree
copy_untracked_excludearray[]SPROUT_COPY_UNTRACKED_EXCLUDEExclude patterns when copying untracked + ignored files
session_toolsarray["agent","lazygit","nvim"]SPROUT_SESSION_TOOLSOrdered tmux windows per session
agent_commandstringcodexSPROUT_AGENT_COMMANDAgent command
default_agent_typestringcodexSPROUT_DEFAULT_AGENT_TYPEDefault agent type
agent_command_*stringvariesSPROUT_AGENT_COMMAND_*Agent command per type
session_prefixstringsproutSPROUT_SESSION_PREFIXTmux session name prefix

Example

base_branch = "main"
worktree_root_template = "../{repo}.worktrees"
auto_launch = true
auto_start_agent = true
copy_untracked_exclude = ["build", "dist/**"]
session_tools = ["agent", "lazygit", "nvim", "pnpm dev"]
default_agent_type = "codex"
agent_command_codex = "codex"
agent_command_aider = "aider --model gpt-4"
session_prefix = "sprout"

session_tools

Built-in values:

  • agent: runs agent_command
  • lazygit: runs lazygit -p .
  • nvim: runs nvim .

Any other value is run as a shell command in its own tmux window (e.g. "pnpm dev").

Environment variables

SPROUT_SESSION_TOOLS accepts comma-separated or TOML-array syntax:

export SPROUT_SESSION_TOOLS="agent,lazygit,nvim"
# or
export SPROUT_SESSION_TOOLS='["agent","lazygit","nvim","pnpm dev"]'

Update checks

Sprout checks GitHub for updates once per day. Disable with SPROUT_UPDATE_CHECK=0.